Skip to content

Latest commit

 

History

History

vscode-dts

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

vscode-dts

This is the place for the stable API and for API proposals.

Consume a proposal

  1. find a proposal you are interested in
  2. add its name to your extensions package.json#enabledApiProposals property
  3. run npx vscode-dts dev to download the d.ts files into your project
  4. don't forget that extension using proposed API cannot be published
  5. learn more here: https://code.visualstudio.com/api/advanced-topics/using-proposed-api

Add a new proposal

  1. create a new file in this directory, its name must follow this pattern vscode.proposed.[a-zA-Z]+.d.ts
  2. creating the proposal-file will automatically update src/vs/platform/extensions/common/extensionsApiProposals.ts (make sure to run npm run watch)
  3. declare and implement your proposal
  4. make sure to use the checkProposedApiEnabled and/or isProposedApiEnabled-utils to enforce the API being proposed. Make sure to invoke them with your proposal's name which got generated into extensionsApiProposals.ts
  5. Most likely will need to add your proposed api to vscode-api-tests as well

Keep the proposal registry in sync

After adding, removing, or renaming a proposal, include the updated API proposal registry with your change. Developer compilation, npm run watch, and npm run build-fast regenerate it automatically. To regenerate it explicitly from the repository root, run:

npm run gulp compile-api-proposal-names

To check it without changing any source files, run:

npm run gulp check-api-proposal-names

Production and PR CI run this check as the first step of core-ci, before type-checking, transpilation, and bundling. Unlike the legacy production regeneration step, this check fails on a stale or missing registry rather than repairing it. It reuses the generator to compare the complete generated contents, allowing both LF and CRLF line endings.