Skip to main content

How to Create a VS Code Extension: A Step-by-Step Guide Using Node.js, npm, and Yeoman

Creating a Visual Studio Code (VS Code) extension can significantly enhance your coding workflow by adding custom functionalities. In this guide, we’ll cover the setup, development, and packaging process using tools like Node.js, npm, and Yeoman.

Prerequisites

  • Visual Studio Code version 1.92.2 or higher.
  • Node.js installed on your machine.

Steps to Set Up Your VS Code Extension

Set Up Your Development Environment

  • Install Node.js: Make sure Node.js is installed. You can download it from nodejs.org.
  • Install VS Code: Download and install Visual Studio Code from code.visualstudio.com.

Clone the Repository

  • Clone the repository to your local machine using:
  • git clone <repository-url>

Install Dependencies

  • Navigate to the project directory and run: npm install

Create a New Extension

  • Use Yeoman Generator: This is the easiest way to create a new extension.
  • Open your terminal and run: npm install -g yo generator-code
  • After installing the generator, run: yo code
  • Follow the Prompts: Answer the questions to set up your extension. For example:
    • Type of extension: New Extension (TypeScript)
    • Name: <Your extension name in any case>
    • Identifier: <Your extension name in lower case only>
    • Description: <optional>
    • Initialize a git repository: Yes
    • Which bundler to use? <Webpack> (for optimized performance, simplified deployments and reduced file size)
    • Package manager: npm
    • Do you want to open the new folder with VS Code: <Open with ‘code’>

Scripts

  • Compile: Run npm run compile to compile the extension.
  • Test: Run npm run test to execute tests using the VS Code test runner.

Project Structure

  • src/extension.ts: Main entry point of the extension, containing activation and deactivation logic.
  • src/customprompts.ts: Logic for generating and handling custom prompts for Java migration tasks.
  • package.json: Metadata about the extension, including name, version, description, dependencies, commands, and contributions.

Usage

  • Press Ctrl+Shift+P to open the command palette.
  • Run the command Java Migration CoPilot Extension to activate the extension.
  • Interact with the chat participant to get assistance with Java migration tasks.

Packaging Your Extension (post development)

  • Install VSCE: The Visual Studio Code Extension Manager (VSCE) is used to package and publish your extension. Install it globally using:
  • npm install -g vsce
  • Package Your Extension: Navigate to your extension’s root directory and run:
  • vsce package
  • This will create a .vsix file, which is the packaged extension that can be installed or published.

 

Happy Learning! Please share your feedback/queries in the comment section.

Comments

Popular posts from this blog

Fix: "Cannot set a credential for principal 'sa' . (Microsoft SQL Server, Error: 15535)" and “User is not associated with a trusted sql server connection" Errors

Recently, I had happen to struck with the following errors when I tried to reset the SA password through the SQL Server 2008 R2 Express. " Cannot set a credential for principal 'sa' . (Microsoft SQL Server, Error: 15535) " and then, “ User is not associated with a trusted sql server connection " From my research I have found the solution and that perfectly worked in SQL management studio. Hence, I thought of sharing my findings with others. ========================================================= Advertisement: Choosing .NET Core Worker Services OR Windows Services? ========================================================= Steps to reset the password in SQL Server 2008 R2 Express and fix for the errors: Step 1. Go to SQL Server Instance -> Properties/Security tab and change the mode to SQL Server authentication mode. Step 2. Go to Security/Logins, then open 'sa' login properties,          a. Uncheck the "Enforce passwor...

How to Implement Lombok in IntelliJ for Java Projects: A Step-by-Step Guide

Lombok in IntelliJ for Java Projects Implementing Lombok in your Java project can streamline your code by reducing boilerplate. Follow these steps to set up Lombok in IntelliJ: Step 1 :  Ensure Java SDK Version. Ensure that your project is using Java 8 or higher.  You can check and set the Java SDK version in pom.xml: XML <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> Step 2 : Add Lombok Dependency to pom.xmlOpen the pom.xml file in your project. Add the following Lombok dependency inside the <dependencies> section: XML <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.24</version> <scope>provided</scope> </dependency> Step 3 : Download Lombok Plugin for IntelliJ IDEAGo to File > Settings (or press Ctrl+Alt+S). Navigate to Plugins. Search for Lombo...

How to create a GenAI Talking Avatar ChatBot using Streamlit and Anthropic Claude LLM Model

GenAI Talking Avatar ChatBot   using Streamlit and Anthropic Claude LLM Model GenAI-Talking-Avatar-Chatbot is a web application that allows users to interact with an AI-powered talking chatbot with a static avatar. The chatbot uses AWS Bedrock for generating responses and Google Text-to-Speech (gTTS) for voice output. The backend is built with FastAPI, and the frontend uses Streamlit for the user interface. Features API Backend (api.py) Provides an API endpoint to handle chat requests. Uses AWS Bedrock to generate AI responses in a specified JSON format. Ensures the responses include the message, avatar expression, and voice tone. Includes a health check endpoint to verify the API status. Chat UI (chat_frontend.py) Chat Interface: Provides a chat interface where users can input their queries and receive responses from the AI assistant. Avatar Display: Displays an avatar that changes expressions based on the AI assistant's responses and actions (e.g., thinking, speaking). AI Respons...