Visual Studio Code and LSP server improvements

Posted on

VS Code running Castle Game Engine task

A big personal news from me is that I switched from using Emacs for almost-everything-I-do-on-computer to VS Code about a month ago. There have been a few reasons (yes, including this). I was exploring VS Code already, finally decided to see what happens if I try to use it for everything and now I’m happy with the switch. No big miracles happened, but I feel various things work in VS Code better out-of-the-box than my heavily-customized Emacs ever could. I hope that my clone in an alternative reality will maintain my ~20 years worth of Lisp code 🙂

For Castle Game Engine, this sparked some small improvements that will likely benefit everyone who prefers to use general text editors (whether VS Code, Emacs, or Vim).

  1. I extended our VS Code manual, as I explored how to configure it best.

    I updated in particular how to configure VS Code “tasks”, such that pressing F9 basically does what it does in CGE editor: compiles and runs your project, letting you observe logs.

    I’m also looking forward to implement a dedicated Castle Game Engine extension for VS Code (and VS Codium) that integrates our LSP server (with CGE settings), and defines useful CGE-related tasks out-of-the-box.

  2. I improved our build tool with additional option (--windows-robust-pipes) useful for integration of build tool in any external tool (like VS Code) on Windows.

  3. I was also doing improvements to our Pascal LSP server, both for Emacs and VS Code and other text-editors. The server is now easier to configure, it auto-detects OS, CPU and fixes eventual setting of OS=windows (to win32 or win64).

Start the discussion at Castle Game Engine Forum