Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>JETLS ClientNew to Visual Studio Code? Get it now.
JETLS Client

JETLS Client

aviatesk

|
46 installs
| (1) | Free
A new language server for Julia
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

JETLS

The goal of this project is to develop a new language server for Julia, currently called "JETLS". JETLS aims to enhance developer productivity by providing advanced static analysis and seamless integration with the Julia runtime. By leveraging tooling technologies like JET.jl, JuliaSyntax.jl and JuliaLowering.jl, JETLS aims to offer enhanced language features such as type-sensitive diagnostics, macro-aware go-to definition and such.

This repository manages JETLS.jl, a Julia package that implements a language server, and jetls-client, a sample VSCode extension that serves as a language client for testing JETLS.

Documentation

For end-user documentation including installation instructions, configuration options, and feature guides, please visit the user guide documentation.

This README focuses on development-related information such as the project roadmap, implementation status, and developer resources.

Roadmap

This is a summary of currently implemented features and features that will likely be implemented in the near future, for those who want to test this server. Please note that not only the progress of the list, but also the structure of the list itself is subject to change.

  • Analysis
    • [x] Document synchronization
    • [ ] Incremental analysis
    • [ ] JuliaLowering integration
    • [ ] Recursive analysis for dependencies
    • [ ] Cross-server-process cache system
  • Diagnostics
    • [x] Syntax errors
    • [x] Lowering errors
    • [x] Undefined bindings
    • [x] Unused bindings
    • [ ] Potential MethodError
    • [ ] Configuration integration
  • Completion
    • [x] Global symbol completion
    • [x] Local binding completion
    • [x] LaTeX/Emoji completion
    • [ ] Method signature completion
    • [ ] Property completion
  • Signature Help
    • [x] Basic implementation
    • [x] Macro support
    • [ ] Argument type based suggestion
  • Definition
    • [x] Method defintion
    • [ ] Global binding definition
    • [x] Local binding definition
    • [ ] Type-aware method definition
  • Document Highlight
    • [x] Highlight local binding
  • Hover
    • [x] Method documentation
    • [x] Global binding documentation
    • [x] Local binding location
    • [ ] Type-aware method documentation
    • [ ] Type of local binding on hover
  • Formatting
    • [x] Runic integration
    • [x] JuliaFormatter integration
    • [x] Make formatting backend configurable
  • Rename
    • [x] Local binding
    • [ ] Global binding
    • [ ] Field name
  • TestRunner.jl integration
    • [x] Code lens for running individual @testsets
    • [x] Code actions for running individual @testsets
    • [x] Code actions for running individual @test cases
    • [x] Inline test result diagnostics
  • Configuration system
    • [x] Type stable config object implementation
    • [x] Support LSP configurations
    • [x] Documentation
    • [ ] Schema support
  • [x] Parallel/concurrent message handling
  • [x] Work done progress support
  • [x] Message cancellation support
  • [ ] Notebook support
  • Release
    • [x] Publish a standalone VSCode language client extension
    • [ ] Environment isolution
    • [ ] Bundle JETLS (as a Julia package)
    • [ ] Integration into julia-vscode

Development notes

The following documents contain specific items that should be referenced when developing JETLS:

  • DEVELOPMENT.md: Developer notes
  • AGENTS.md: Specific coding rules (recommended reading for human developers as well)

Meta-level discussions, research, and ideas related to the development of JETLS are compiled as Obsidian notes at https://publish.obsidian.md/jetls.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft