| .. | ||
| docs | ||
| lib | ||
| .editorconfig | ||
| .eslintrc.json | ||
| .prettierrc.json | ||
| CHANGELOG.md | ||
| LICENSE.md | ||
| package.json | ||
| README.md | ||
| thirdpartynotices.txt | ||
vscode-html-languageservice
HTML language service extracted from VSCode to be reused, e.g in the Monaco editor.
Why?
The vscode-html-languageservice contains the language smarts behind the HTML editing experience of Visual Studio Code and the Monaco editor.
- 
doComplete / doComplete2 (async) provide completion proposals for a given location. 
- 
setCompletionParticipants allows participant to provide suggestions for specific tokens. 
- 
doHover provides hover information at a given location. 
- 
format formats the code at the given range. 
- 
findDocumentLinks finds all links in the document. 
- 
findDocumentSymbols finds all the symbols in the document. 
- 
getFoldingRanges return folding ranges for the given document. 
- 
getSelectionRanges return the selection ranges for the given document. ... 
For the complete API see htmlLanguageService.ts and htmlLanguageTypes.ts
Installation
npm install --save vscode-html-languageservice
Development
- clone this repo, run yarn
- yarn testto compile and run tests
How can I run and debug the service?
- open the folder in VSCode.
- set breakpoints, e.g. in htmlCompletion.ts
- run the Unit tests from the run viewlet and wait until a breakpoint is hit:
 
How can I run and debug the service inside an instance of VSCode?
- run VSCode out of sources setup as described here: https://github.com/Microsoft/vscode/wiki/How-to-Contribute
- link the folder of the vscode-html-languageservicerepo tovscode/extensions/html-language-features/serverto run VSCode with the latest changes from that folder:- cd vscode-html-languageservice,yarn link
- cd vscode/extensions/html-language-features/server,yarn link vscode-html-languageservice
 
- cd 
- run VSCode out of source (vscode/scripts/code.sh|bat) and open a.htmlfile
- in VSCode window that is open on the vscode-html-languageservicesources, run commandDebug: Attach to Node processand pick thecode-ossprocess with thehtml-language-featurespath 
- set breakpoints, e.g. in htmlCompletion.ts
- in the instance run from sources, invoke code completion in the .htmlfile
License
(MIT License)
Copyright 2016-2020, Microsoft
With the exceptions of data/*.json, which is built upon content from Mozilla Developer Network
and distributed under CC BY-SA 2.5.
