
Specify the languages supported by a debugger extension. Connect VS Code's debugging UI to a debugger or runtime by contributing a Debug Adapter implementation. You can take advantage of VS Code's Debugging functionality by writing Debugger Extensions that connect VS Code's debugging UI to a specific debugger or runtime. Render custom content using the WebView API. Show new information in the Status Bar. Create a new, interactive TreeView in the Side Bar.
Add custom context menu actions to the File Explorer. And if your extension needs a fully customized user interface, use the Webview API to build your own document preview or UI using standard HTML, CSS, and JavaScript.
Add new right-click actions to the File Explorer, or even build a custom explorer using VS Code's TreeView API.
#Focus vs quickpick code
Workbench Extensions extend the VS Code Workbench UI. Add folding, breadcrumbs and outline support for a language.Provide rich, context-aware IntelliSense.Register a new code formatter for HTML.Report spelling or linter errors in source code using diagnostics.Add hovers that show sample usage of an API.For example, CodeLens and Hovers are a great way to present additional information inline, while diagnostic errors can be used to highlight spelling or code style errors. An extension can either use these API directly, or write a Language Server and adapt it to VS Code using the VS Code Language Server library.Īlthough we provide a listing of language features and their intended usage, nothing prevents you from using these API creatively. These language features are exposed through the vscode.languages.* API. Programmatic Language Features add rich programming language support such as Hovers, Go to Definition, diagnostic errors, IntelliSense and CodeLens. Port an existing TextMate grammar to VS Code.Extend an existing grammar with grammar injections.Add or replace the grammar for a programming language.Tell VS Code about a new programming language.Bundle common JavaScript snippets into an extension.For more advanced language features, like IntelliSense or debugging, see Programmatic Language Features. This is done declaratively, without writing any code.
Port an existing TextMate theme to VS Code.ĭeclarative Language Features adds basic text editing support for a programming language such as bracket matching, auto-indentation and syntax highlighting. If you've ever wanted to make it look like you're coding the Matrix by making VS Code different shades of green, or just wanted to create the ultimate, minimalist grayscale workspace, then themes are for you. Theming controls the look of VS Code, both the colors of source code in the editor and the colors of the VS Code UI. Use the Progress API to indicate long-running operations. Open the system file picker to let users select files or folders. Using Quick Pick to collect user input. Registering commands, configurations, keybindings, or context menu items. Common CapabilitiesĬommon Capabilities are core pieces of functionality that you can use in any extension. For example, extensions cannot access the DOM of VS Code UI. However, we also impose restrictions upon extensions to ensure the stability and performance of VS Code. Links to more detailed topics for using these functionalities. Some functionalities your extension could use. This topic splits extension capabilities into a few categories. It can sometimes be hard to find the right Contribution Points and VS Code API to use. Visual Studio Code offers many ways for extensions to extend its capabilities.