vb-ls 0.3.0

dotnet tool install --global vb-ls --version 0.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local vb-ls --version 0.3.0
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=vb-ls&version=0.3.0
                    
nuke :add-package vb-ls --version 0.3.0
                    

Description

This is a hacky Roslyn-based LSP server for Visual Basic, based on csharp-ls.

vb-ls requires .NET 8 SDK to be installed. However it has been reported to work with projects using older versions of dotnet SDK, including .NET Core 3, .NET Framework 4.8 and possibly older ones too as it uses the standard Roslyn/MSBuild libs that Visual Studio & omnisharp does.

See CHANGELOG.md for the list of recent improvements/fixes.

Acknowledgements

Installation

dotnet tool install --global vb-ls

See vb-ls nuget page

Settings

  • vb.solution - solution to load, optional
  • vb.applyFormattingOptions - use formatting options as supplied by the client (may override .editorconfig values), defaults to false

Clients

vb-ls implements the standard LSP protocol to interact with your editor. However there are some features that need a non-standard implementation and this is where editor-specific plugins can be helpful.

NeoVim

NeoVim 0.11+ can easily be configured using the vim.lsp.config api.

vim.lsp.config['vb_ls'] = {
    cmd = { 'vb-ls' },
    root_markers = { '*.sln', '*.vbproj' },
    filetypes = { 'vbnet' },
    init_options = {
      AutomaticWorkspaceInit = true,
    },
}

vim.lsp.enable('vb_ls')

You will also have to install the vbnet.nvim plugin to register the vbnet filetype and improved syntax highlighting.

Visual Studio Code

See vscode-vb-ls.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.3.0 288 8/20/2025
0.2.0 187 6/20/2025
0.1.0 259 4/1/2025