Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time
November 9, 2022 09:12
November 3, 2022 16:24
November 24, 2022 20:25
March 18, 2022 17:23
February 1, 2019 09:09
September 16, 2020 09:43
September 16, 2020 09:43
September 16, 2020 09:43
May 18, 2022 16:23
September 15, 2016 22:14
November 3, 2022 16:24
January 23, 2023 16:42
January 23, 2023 16:42


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

npm Package NPM Downloads Build Status License: MIT


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


npm install --save vscode-html-languageservice


  • clone this repo, run yarn
  • yarn 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:
  • 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, yarn link
    • cd vscode/extensions/html-language-features/server, yarn link vscode-html-languageservice
  • run VSCode out of source (vscode/scripts/|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


(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.