This would not have been possible without the efforts of @devnote-dev and @tlkh40! Thank you!
This is a complete rewrite from scratch to provide a faster, more reliable, and more maintainable extension. It should have feature parity with v0.8.4. The only thing that hasn't been rewritten yet is the tasks support, and that can come in a future update (alongside built-in debugging support).
Bugfixes:
102, #172
145 (thanks @refi64)
157
158
176
177
Stop the LSP when the extension is shutting down, where previously it would just stay on / active
New Features:
4
42
56
122 (there's only one instance of the compiler running at once now)
150 (thanks @WhereIsX)
155 (thanks @grkek)
163 (disabled by default for user-experience)
175 (by using crystal tool dependencies to choose a target from a file)
GitHub Codespaces support (as long as Crystal is installed)
Show problems in ECR files
This has been tested on MacOS, Windows (native), Linux (Arch), and GitHub Codespaces. While there still may be issues, this is a definite improvement over the old code. I've personally been using this for the past few months on projects big and small and it has worked well.
By default, the problems runner, hover provider, and definitions provider are turned on. This may not be ideal for larger projects due to compile times and memory usage, so it is recommended to turn them off in the vscode settings. That can be done per-project by creating a .vscode/settings.json file with:
This would not have been possible without the efforts of @devnote-dev and @tlkh40! Thank you!
This is a complete rewrite from scratch to provide a faster, more reliable, and more maintainable extension. It should have feature parity with v0.8.4. The only thing that hasn't been rewritten yet is the tasks support, and that can come in a future update (alongside built-in debugging support).
Bugfixes:
102, #172
145 (thanks @refi64)
157
158
176
177
New Features:
4
42
56
122 (there's only one instance of the compiler running at once now)
150 (thanks @WhereIsX)
155 (thanks @grkek)
163 (disabled by default for user-experience)
175 (by using
crystal tool dependencies
to choose a target from a file)This has been tested on MacOS, Windows (native), Linux (Arch), and GitHub Codespaces. While there still may be issues, this is a definite improvement over the old code. I've personally been using this for the past few months on projects big and small and it has worked well.
By default, the problems runner, hover provider, and definitions provider are turned on. This may not be ideal for larger projects due to compile times and memory usage, so it is recommended to turn them off in the vscode settings. That can be done per-project by creating a
.vscode/settings.json
file with:Or if those features aren't desired, they can be turned off user-wide instead of just for a project/workspace.
Attached is a build of the current code for any additional testing: crystal-lang-0.9.0-alpha.3.vsix.zip