From 6d80100fb7ba383d2157ed9e2fcbc01ad180d48d Mon Sep 17 00:00:00 2001 From: Pine Wu Date: Wed, 5 Sep 2018 00:55:47 -0700 Subject: [PATCH] Update usage --- lsp-log-streaming-sample/README.md | 58 ++++++++++++------------------ 1 file changed, 22 insertions(+), 36 deletions(-) diff --git a/lsp-log-streaming-sample/README.md b/lsp-log-streaming-sample/README.md index a9b6b7e9..802f41ad 100644 --- a/lsp-log-streaming-sample/README.md +++ b/lsp-log-streaming-sample/README.md @@ -14,44 +14,30 @@ This is a repository adapted from [lsp-sample](https://github.com/Microsoft/vsco "verbosity": "verbose" } ``` -- A [webview](https://github.com/Microsoft/language-server-protocol-inspector/tree/master/lsp-inspector-webview) build of the LSP Inspector can be downloaded here: +- A [webview](https://github.com/Microsoft/language-server-protocol-inspector/tree/master/lsp-inspector-webview) build of the LSP Inspector can be downloaded here: https://marketplace.visualstudio.com/items?itemName=octref.lsp-inspector-webview - When using the Webview LSP Inspector, it will open a WebSocket Server taking incoming connection that sends logs following [this format](https://github.com/Microsoft/language-server-protocol-inspector#log-format). - You can stream the JSON log of any Language Server using `vscode-languageclient` to the LSP Inspector, and it will show a live view of the LSP connection. +## Usage +- Install the [LSP Inspector Webview](https://marketplace.visualstudio.com/items?itemName=octref.lsp-inspector-webview) extension +- Compile and Run this Extension + - `npm install` + - `npm run compile` + - F5 to run the extension +- Add the following setting: + ```json + "languageServerExample.trace.server": { + "format": "json", + "verbosity": "verbose" + }, + ``` +- Open a txt file so this Language Server gets activated +- Run command "LSP Inspector: Start LSP Inspector" +- Run command "Start Stream Logs into languageServerExample.port" +- As you are typing, doing auto-completion, many messages should show up in the inspector, such as + - `textDocument/didChange` + - `textDocument/completion` + - `textDocument/publishDiagnostics` -## 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. -- 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. - - 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. +![stream](https://user-images.githubusercontent.com/4033249/45078686-7a22e600-b0a5-11e8-9c75-0d0dc3ec8256.gif) \ No newline at end of file