Language services for HTML
Перейти к файлу
Martin Aeschlimann d5f6af6622
run ci with node 18 (#193)
2024-08-26 12:29:14 -07:00
.github run ci with node 18 (#193) 2024-08-26 12:29:14 -07:00
.vscode
build run ci with node 18 (#193) 2024-08-26 12:29:14 -07:00
docs
src prepare 5.3.0 (#191) 2024-06-24 08:59:40 -07:00
.eslintrc.json
.gitignore
.mocharc.json
.npmignore
.prettierrc.json
CHANGELOG.md prepare 5.2.0 (#182) 2024-03-22 07:05:53 -07:00
LICENSE.md
README.md
SECURITY.md
eslint.config.mjs prepare 5.3.1 (#192) 2024-08-26 20:16:02 +02:00
package-lock.json prepare 5.3.1 (#192) 2024-08-26 20:16:02 +02:00
package.json prepare 5.3.1 (#192) 2024-08-26 20:16:02 +02:00
thirdpartynotices.txt

README.md

vscode-html-languageservice

HTML language service extracted from VSCode to be reused, e.g in the Monaco editor.

npm Package NPM Downloads Build Status License: MIT

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 `npm i``
  • npm test to 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: image

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-languageservice repo to vscode/extensions/html-language-features/server to run VSCode with the latest changes from that folder:
    • cd vscode-html-languageservice, npm link
    • cd vscode/extensions/html-language-features/server, npm link vscode-html-languageservice
  • run VSCode out of source (vscode/scripts/code.sh|bat) and open a .html file
  • in VSCode window that is open on the vscode-html-languageservice sources, run command Debug: Attach to Node process and pick the code-oss process with the html-language-features path image
  • set breakpoints, e.g. in htmlCompletion.ts
  • in the instance run from sources, invoke code completion in the .html file

License

(MIT License)

Copyright 2016-2023, Microsoft

src/languageFacts/data/webCustomData.ts (shipped as lib/esm/languageFacts/data/webCustomData.ts and lib/umd/languageFacts/data/webCustomData.ts) are built upon content from Mozilla Developer Network and distributed under CC BY-SA 2.5.