This project is deprecated. For modern Elm support in VSCode use https://marketplace.visualstudio.com/items?itemName=Elmtooling.elm-ls-vscode (GitHub: https://github.com/elm-tooling/elm-language-client-vscode)
Elm support for Visual Studio Code
Follow this guide.
Project (Local) Installation
Syntax highlighting is essential. The full language is supported. Fenced code blocks in markdown files are highlighted too. Can we improve the highlighting further? Please create an issue!
We support error highlighting on save. If you check Auto save under File, you should get feedback immediately.
This is marked experimental because we still have to improve the project detection.
Hover info - Function information
You can hover over a function and get the signature and comment.
Document and Workspace symbols
Use context menu "Go to definition" or F12. Alt+F12 to Peek
Ctrl+Shift+O for document symbols and Ctrl+T for workspace symbols
Code Actions (Lightbulb on errors and warnings with fixes)
Tip - use Ctrl+. to invoke code action when the lightbulb is visible
Integration with Elm Package (Browse and install packages)
Ctrl+Shift+P - Elm browse packages
Ctrl+Shift+P - Elm install package
Local Project Intellisense (experimental)
vscode-elm will scan your projects to build intellisense results. Assumption your files match the layout of elm-format
Example behaviors are:
important note regarding performance
In testing with the Elm SPA example project no slowdown was noticed, but if your project slows down try one of these alternate settings:
Not sure about the output of a function? Test it from inside the editor.
Open the actions menu and use one of the following commands:
Reactor is the webserver which comes with Elm.
We support starting / stopping from within the editor.
Integration with Elm Make
We support snippets for the basic language features. To use them, press
Want to know more? Look at the snippet definitions
Formatting with Elm-format
elm-format is supported via the editor's
You can also configure
On Windows you may need to add
Elm-format - local installation
If you have elm-format installed locally add this line to '.vscode/settings.json'
Elm-analyse is a tool that allows you to analyse your Elm code, identify deficiencies and apply best practices. The integration enables vscode to show any problems identified by elm-analyse as linting warnings in your code.
With a button to stop the elm-analyse process
To install elm-analyse
When running, any issues will show up in the problems window (
NOTE: This is an early version
Clean Build Artifacts
You can delete your
How to contribute
Imposter syndrome disclaimer: I want your help. No really, I do.
There might be a little voice inside that tells you you're not ready; that you need to do one more tutorial, or learn another framework, or write a few more blog posts before you can help me with this project.
I assure you, that's not the case.
This project has some clear Contribution Guidelines and expectations that you can read here.
The contribution guidelines outline the process that you'll need to follow to get a patch merged. By making expectations and process explicit, I hope it will make it easier for you to contribute.
And you don't just have to write code. You can help out by writing documentation, tests, or even by giving feedback about this work. (And yes, that includes giving feedback about the contribution guidelines.)
Thank you for contributing!
Contributing and copyright
The project is hosted on GitHub where you can report issues, fork the project and submit pull requests. Please read the CONTRIBUTING document for more information.
The library is available under MIT license, which allows modification and redistribution for both commercial and non-commercial purposes.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.