Acknowledged

Feature request: add possibility to disable Language Server in VS Code extension

It looks like new Monkey C v1.1.0 extension with active SDK 8 is constantly building projects in the workspace. I'd like to keep the current behavior, as it is working now for 1.0.11 extension with SDK 7 and for 1.1.0 with SDK 7.

Reasons behind this feature request are the following:

  1. Language Server does not seem to be doing any extra code analysis and is only constantly running monkeyc compiler internally and processing its output. All errors developer makes during writing the code, that could be reported by Language Server, will be reported anyway during regular compilation step as it is in 1.0.11 and all pervious versions.
  2. Language Server is a separate java process that requires RAM. For CPU/RAM-tight environments like Docker/Devcontainers this is a very big issue, and I'm constantly seeing out of memory errors during my monkeyc calls, as RAM is occupied by Language Server, and the general VS Code responsiveness is perceived to be slower as CPU load is high all the time due to continuous "Monkey C: Building ...%" when I'm working on one of my large projects with 100+ source files. There are no such issues with 1.0.11 and SDK 7 for the same amount of CPU/RAM.
  3. My projects use custom build system and some of them require special processing before compilation, that I do before manually running barrelbuild/monkeyc/monkeydo. With 1.1.0 and SDK 8 I see about a thousand of errors, because some of projects I develop are not 100% valid Monkey C projects at "writing the code" stage (they build with strict type checking without any warnings/errors and run without issues after processing). Moreover, I use separate monkey.jungle files for writing the code, for building and running it after processing and for running unit tests. I have no issues with 1.0.11 and SDK 7 as I almost never use VS Code's "Run and Debug" commands.

To sum up: please, add a new extension option "Enable Live Analysis" (true by default) and do not run Language Server if it is false to keep pre-1.1.0 extension behavior with SDK 8.