crystal-lang-tools / vscode-crystal-lang

Yet another VSCode extension for Crystal Programming Language
https://marketplace.visualstudio.com/items?itemName=crystal-lang-tools.crystal-lang
MIT License
275 stars 57 forks source link

Release 0.9.0 #182

Closed nobodywasishere closed 5 months ago

nobodywasishere commented 5 months ago

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:

New Features:

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:

// .vscode/settings.json
{
  "crystal-lang.definitions": false,
  "crystal-lang.dependencies": false,
  "crystal-lang.hover": false,
  "crystal-lang.problems": false,
  "crystal-lang.spec-explorer": false,
}

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