Repository navigation
Questions about monaco-lsp-client: migration from monaco-languageclient and roadmap #5550
Replies: 1 comment
|
I dug through the source a bit since I was curious too. Short answers below, but keep in mind I'm not on the team, so for the roadmap part only a maintainer can really answer. 1. How it works Yes, it's the same basic idea: a client in the browser talking JSON-RPC to an external language server, but wired straight into Monaco's language APIs, with no VS Code API layer in between. It's not a separate npm package. It ships inside import * as monaco from 'monaco-editor';
const transport = await monaco.lsp.WebSocketTransport.connectTo({
address: 'ws://localhost:3000/lsp',
});
const client = new monaco.lsp.MonacoLspClient(transport);Besides On the wire, 2. Migration: things I noticed in the source that differ
To make a future migration easier: keep your LSP setup behind one small module of your own (connect + create client + dispose), and don't lean too much on monaco-languageclient's VS Code-specific services. 3. Roadmap The package README still says "This package is in alpha stage and might contain many bugs". The 0.57.0 changelog adds "typed native LSP client and transport APIs", but I couldn't find a public roadmap or a stable ETA. The last changes in |
Uh oh!
There was an error while loading. Please reload this page.
Hi,
I have a few questions about the new monaco-lsp-client that was recently added to the monaco-editor project.
Some context: I’ve built a web application that provides a code editor using monaco-editor together with TypeFox/monaco-languageclient, which communicates over WebSocket with my LSP server. This project is currently running, and I’d like to understand how monaco-lsp-client will work so I can plan a possible future migration.
All reactions