Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Boo for VS CodeNew to Visual Studio Code? Get it now.
Boo for VS Code

Boo for VS Code

boo-dotnet

|
7 installs
| (1) | Free
Boo language support, backed by the boo-ls language server.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Boo for VS Code

A thin client for boo-ls, the Boo language server. The extension starts the server and gets out of the way; everything it shows comes from boo-ls.

The server lives in the compiler repository and ships as a dotnet tool. That repository is the fork the work happens in; the original Boo is at boo-lang/boo.

What works

Diagnostics as you type, completion, signature help, hover, go to definition, document outline, highlight, find references, rename, and semantic highlighting.

Going to the definition of a type that only exists in a compiled assembly decompiles it. boo.decompiler.language chooses whether that shows as C# or as Boo.

Requirements

VS Code 1.82 or newer, and the .NET 10 runtime, which is what boo-ls is built for.

Installing

Install the extension from the marketplace. It looks for the server on first use, and offers to install it if it is not there. Taking that offer runs:

dotnet tool install --global boo-ls --prerelease

--prerelease is not optional yet: every published boo-ls so far is one. Boo: Install Language Server runs the same thing from the command palette.

The install puts boo-ls in the dotnet tools directory, which reaches PATH through your shell profile. A VS Code window that never read that profile needs a reload before it can see the server.

To build a .vsix instead of installing from the marketplace:

npm install
npx @vscode/vsce package

Running it from source

npm install
code --extensionDevelopmentPath="$PWD" /path/to/a/boo/project

A clone of the compiler is a useful thing to open in that second window: it holds several thousand .boo files.

Finding the server

The extension looks for the server in this order:

  1. boo.server.path, if that setting names one.
  2. src/boo-ls/bin/Debug/net10.0/boo-ls, then the Release build, under any open folder. This is what a compiler clone built with dotnet build produces. Debug wins, so a Release-only rebuild is not picked up.
  3. boo-ls on PATH, which is where the dotnet tool installs it.

Settings

Setting What it does
boo.server.path The server to run. Empty means search, as above.
boo.server.arguments Extra arguments for the server.
boo.server.restartOnChange Restart when the server executable is rebuilt. On by default.
boo.decompiler.language csharp or boo, for a type that only exists in an assembly.
boo.trace.server messages or verbose logs the traffic to the Boo output channel.

Boo: Restart Language Server restarts it without reloading the window, which is what you want after rebuilding. Boo: Build Language Server builds the clone the running server came from. Boo: Install Language Server installs it as a dotnet tool, for when there is no clone.

Known rough edges

Line comments toggle with #. Boo accepts // as well and both are highlighted, but VS Code takes only one comment marker for the toggle.

Whitespace-agnostic sources are parsed the ordinary way, so a file written in that dialect reports errors it should not.

License

MIT. See LICENSE.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft