mirror of
https://github.com/microsoft/vscode-extension-samples.git
synced 2026-06-13 07:10:26 +08:00
Update README
This commit is contained in:
@ -1,19 +1,39 @@
|
||||
# LSP Multi Root Example
|
||||
# LSP Example
|
||||
|
||||
A language server example that demonstrates how to handle configuration settings in a workspace that uses multi root folders. Since settings in VS Code in this setup are typically scoped to a resource, the example reads the resource settings from the client using the new proposed API getConfiguration. This is analogous to reading settings in a multi-root folder setup directly in the extension host.
|
||||
Heavily documented sample code for https://code.visualstudio.com/docs/extensions/example-language-server.
|
||||
|
||||
The example uses proposed Language Server protocol. So the code demoed here might change when the final version of the configuration and workspace folder protocol is released.
|
||||
## Functionality
|
||||
|
||||
This Language Server works for plain text file. It has the following language features:
|
||||
- Completions
|
||||
- Diagnostics regenerated on each file change or configuration change
|
||||
|
||||
It also includes an End-to-End test.
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
.
|
||||
├── client // Language Client
|
||||
│ ├── src
|
||||
│ │ ├── test // End to End tests for Language Client / Server
|
||||
│ │ └── extension.ts // Language Client entry point
|
||||
├── package.json // The extension manifest.
|
||||
└── server // Language Server
|
||||
└── src
|
||||
└── server.ts // Language Server entry point
|
||||
```
|
||||
|
||||
## Compile and Run
|
||||
|
||||
- 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 `Launch Client` from the drop down
|
||||
- Run the lauch config
|
||||
- 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 `Launch Client` from the drop down.
|
||||
- Run the lauch config.
|
||||
- If you want to debug the server as well use the launch configuration `Attach to Server`
|
||||
|
||||
- In the [Extension Development Host] instance of VSCode, open a document in 'plain text' language mode.
|
||||
Enter text content such as `AAA aaa BBB`. The extension will emit diagnostics for all words in all-uppercase.
|
||||
|
||||
- Type `j` or `t` to see `Javascript` and `TypeScript` completion.
|
||||
- Enter text content such as `AAA aaa BBB`. The extension will emit diagnostics for all words in all-uppercase.
|
||||
Reference in New Issue
Block a user