New: Julia for JetBrains IDEs (Flexible Julia)

I just realized that the AI subscription is not needed to enable MCP in Jetbrains IDE for agentic coding. Claude Code will use some of these tools already with the Claude Code plugin. This could potentially blow all other solutions out of the water once the rough edges with parsing/grammar are worked out :sweat_smile:

> What MCP tools do you have access to? 

● I have access to the following MCP tools:

  JetBrains IDE Integration (mcp__jetbrains__)

  Integrates with your JetBrains IDE (PyCharm, IntelliJ, etc.):
File Operations:
  - get_file_text_by_path - Read file contents
  - create_new_file - Create new files
  - replace_text_in_file - Find and replace text in files
  - reformat_file - Apply code formatting

  Search & Navigation:
  - find_files_by_name_keyword - Fast file name search
  - find_files_by_glob - Find files by glob pattern
  - search_in_files_by_text - Search for text across project
  - search_in_files_by_regex - Regex search across project
  - list_directory_tree - View directory structure
  - get_all_open_file_paths - See currently open files
  - open_file_in_editor - Open files in IDE

  Code Intelligence:
  - get_symbol_info - Get documentation/info about symbols at specific positions
  - get_file_problems - Analyze files for errors and warnings
  - rename_refactoring - Intelligent symbol renaming across project

  Project Information:
  - get_project_dependencies - List project libraries
  - get_project_modules - List project modules
  - get_repositories - List VCS roots

  Execution:
  - execute_run_configuration - Run IDE run configurations
  - get_run_configurations - List available run configurations
  - execute_terminal_command - Run terminal commands in IDE
  - runNotebookCell - Execute Jupyter notebook cells

> Tell me about the grpc_global_handle() function. 
  ⎿  ⧉ Selected 1 lines from src/gRPC.jl in PyCharm

● I'll use the symbol info tool to get details about the grpc_global_handle() function.

● jetbrains - get_symbol_info (MCP)(filePath: "src/gRPC.jl", line: 8, column: 1, projectPath: "/home/csvance/Git/gRPCClient.jl")
  ⎿  {                                                                                                                                                                                              
       "documentation": "**compact function** `grpc_global_handle`\n\ngrpc_global_handle()\n\nReturns the global `gRPCCURL` state which contains a libCURL multi handle. By default all gRPC clients
     use this multi in order to ensure that HTTP/2 multiplexing happens where possible."
     }

Also I get some additional output when I use a run configuration, not sure if this is to be expected? But that is extremely cool I can also see the variable values after execution.

/home/csvance/.juliaup/bin/julia --project=/home/csvance/Git/gRPCClient.jl -L /tmp/julia_plugin_15997156569627005907/display_hook.jl /home/csvance/Git/gRPCClient.jl/test/runtests.jl
Precompiling packages...
   2153.4 ms  βœ“ gRPCClient
  1 dependency successfully precompiled in 2 seconds. 16 already precompiled.
Test Summary: |    Pass    Total  Time
gRPCClient.jl | 1014120  1014120  4.5s
__VAR_START__
__VAR__:TestRequest:DataType:TestRequest
__VAR__:TestResponse:DataType:TestResponse
__VAR__:TestService_TestBidirectionalStreamRPC_Client:typeof(TestService_TestBidirectionalStreamRPC_Client):Main.TestService_TestBidirectionalStreamRPC_Client
__VAR__:TestService_TestClientStreamRPC_Client:typeof(TestService_TestClientStreamRPC_Client):Main.TestService_TestClientStreamRPC_Client
__VAR__:TestService_TestRPC_Client:typeof(TestService_TestRPC_Client):Main.TestService_TestRPC_Client
__VAR__:TestService_TestServerStreamRPC_Client:typeof(TestService_TestServerStreamRPC_Client):Main.TestService_TestServerStreamRPC_Client
__VAR__:_TEST_HOST:String:"localhost"
__VAR__:_TEST_PORT:Int64:8001
__VAR__:_get_test_host:typeof(_get_test_host):Main._get_test_host
__VAR__:_get_test_port:typeof(_get_test_port):Main._get_test_port
__VAR_END__

I can’t get plots or the debugger to work yet. To be honest, I care way more about plots than I do debugger. A working debugger is a nice to have but I have lived without it for my entire time using Julia. Having plots work similar to how they do in Python is way more important.

EDIT:

The plots are inconsistently working for me in run configurations, but never in the REPL. It would also be nice to be able to zoom in similar to how its implemented in PyCharm.

1 Like