Files
vscode-extension-samples/lsp-web-extension-sample
Matt Bierner 2ee6b0b7b9 Update all of our samples to target VSCode 1.100 or newer
This makes sure that if folks get a relatively recent `vscode.d.ts`. It also lets us safely bump up the target to es2024 so you can use all the latest lib additions
2025-08-07 07:57:14 -07:00
..
2021-09-15 23:30:24 +02:00
2021-07-21 18:13:58 +02:00
2021-07-21 18:13:58 +02:00

LSP web extension Example

A LSP server that runs in a web extension

Functionality

This Language Server add color decorators to plain text files.

  • create a plain text file
  • enter text that contains colors in hex format (#rrggbb)
  • color decorators

It also includes an End-to-End test.

Structure

.
├── client // Language Client
│   ├── src
│   │   └── browserClientMain.ts // Language Client entry point
├── package.json // The extension manifest.
└── server // Language Server
    └── src
        └── browserServerMain.ts // Language Server entry point

Running the Sample

  • Run npm install in this folder. This installs all necessary npm modules in both the client and server folder
  • Open VS Code on this folder.
  • Press Ctrl+Shift+B to compile the client and server.
  • Switch to the Debug viewlet.
  • Select Run Web Extension from the drop down.
  • Run the launch config.
  • In the [Extension Development Host] instance of VSCode, open a document in 'plain text' language mode.
    • Type #00ff00 or any other color in hex format.
    • color decorators will appear.
  • You can set breakpoints in the client or server code.

You can also run and debug the extension in a browser

  • npm run chrome
  • use browser dev tools to set breakpoints