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 CodeFeature overview
Elm InstallationGlobal InstallationFollow this guide. Project (Local) InstallationRun Then, in
For Windows
Feature detailsSyntax highlightingSyntax 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! Error highlightingWe 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 informationYou can hover over a function and get the signature and comment. Document and Workspace symbolsUse 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 With In testing with the Elm SPA example project no slowdown was noticed, but if your project slows down try one of these alternate settings:
REPL integrationNot 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 integrationReactor is the webserver which comes with Elm.
We support starting / stopping from within the editor. Integration with Elm Make
SnippetsWe support snippets for the basic language features. To use them, press Want to know more? Look at the snippet definitions Formatting with Elm-formatelm-format is supported via the editor's You can also configure
On Windows you may need to add
Elm-format - local installationIf you have elm-format installed locally add this line to '.vscode/settings.json'
For Windows
Elm-analyse integrationElm-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
Commands:
When running, any issues will show up in the problems window ( NOTE: This is an early version
Elm-analyse settings:
Clean Build ArtifactsYou can delete your Acknowledgements
How to contributeImposter 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 copyrightThe 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. Maintainer(s)
Past Maintainer(s) |