Extensions

Creating a Submenu in VS Code: A Step-by-Step Guide

January 24, 2023

While creating a session about Visual Studio Code extension development, I discovered that creating a submenu in the context menus is possible. These submenus are a great way to make the context menus less cluttered and easier to use. Submenu in a context menu When trying it out, I could not make it work easily as the docs were unclear.

Read more

Creating timer dismissable notifications in a Visual Studio Code extension

December 21, 2022

Notifications in Visual Studio Code are trivial for your extensions to notify the user when something happens or a process completes. A downside of these notifications is that they cannot be dismissed programmatically; they require manual user interaction. As in my current extension, I wanted to be able to have a notification that can do the following:

Read more

Cancel progress programmatically in Visual Studio Code extensions

December 20, 2022

With the Visual Studio Code progress notification (vscode.window.withProgress), you can make it cancellable. This cancellable option allows the user to cancel it by clicking on a cancel button. Progress notification in Visual Studio Code What if you want to cancel it programmatically? That was the case for one of my extensions.

Read more

Open your Visual Studio Code extension walkthrough from a command

July 25, 2022

A great feature that allows your users to get familiar with your extension is the ability for you to create walkthroughs. Walkthrough experience The welcome experience can be seen or opened from the start experience in VS Code. VS Code - Get started But how do you get to the welcome experience when you close the start page?

Read more

Opening folders in Visual Studio Code from an extension

June 2, 2022

I used the vscode.openFolder command in one of my extensions, one of the built-in commands that is available. The command can be combined with a URI argument to open the folder or workspace. While testing it out, the command worked fine on macOS and Linux but gave issues on Windows paths.

Read more