search
HomeDevelopment ToolsVSCodeSimple practical sharing: Let's talk to you about VScode plug-in development

Simple practical sharing: Let's talk to you about VScode plug-in development

VSCode is a very lightweight editor from Microsoft. Although it is lightweight, it has extremely powerful functions. The reason is that many powerful functions of VSCode are implemented based on plug-ins. The IDE only provides the most basic framework and basic functions. We need to use plug-ins to enrich and expand its functions. [Recommended learning: "vscode introductory tutorial"]

Due to the important role of plug-ins, the size of VSCode's plug-in community is now very impressive. Most of our commonly used development tools can be found here. Found in the App Market.

After opening VScode, the left side of the interface is the entrance to the application market, where you can search for the plug-ins we need.

But our needs are always complex and changeable, and there are always some scenarios that existing plug-ins cannot meet. At this time, we need to use the open interface of VScode to manually implement the functions we need.

This article mainly takes you to start with the development of a simple plug-in. For more plug-ins with more complex functions, we need to consult the official documents according to our specific needs.

Project initialization

The first step is to install the official scaffolding yo provided by VScode and use it to generate the project:

// 安装脚手架

npm install -g yo generator-code

In the second step, use the following command to initialize a sample project:

yo code

During the initialization process, we need to make some preference settings, just select according to your needs:

Then we can use VSCode to open the project generated by the above steps. You can see the directory structure as follows. The two most important files are package.json and extension.js. After understanding these two files, you can basically get started. Developed a VSCode plug-in.

package.json file

package.json file is the manifest file of the VSCode extension, which contains Many fields. The official documentation also has special instructions for each field: manifest.

Here we only focus on the files generated after initialization, which mainly include the following key nodes:

1. main: specifies the The entry file of the project. From here you can see that the entry file is extension.js;

2. Contributes: The contribution point of the plug-in, the most important configuration of the plug-in. Registering contributions through extensions is used to extend various skills in Visual Studio Code. The official documentation provides guidance: contributes.

A command named sample.helloWorld is registered in commands here. This command actually needs to be implemented in ./extension.js (this part is the focus, we will talk about it later);

3. activationEvents: This node tells VScode under what circumstances the plug-in will be activated. The official document has specified the timing of activation: activationEvents. The screenshot above indicates that when we execute It is activated when the sample.helloWorld command is used. In addition, there are more scenarios:

  • onCommand: activated when the command is called

  • onLanguage: It is activated when opening a file parsed to a specific language, such as "onLanguage:python"

  • *: As soon as vscode is started, the plug-in will be activated

  • onFileSystem: Whenever a file or folder from a specific scheme is read

  • onView: Whenever a view with the specified id is expanded in the VS Code sidebar.. ..

For more information, please refer to the official documentation if you are interested.

extension.js File

extension.js file corresponds to the main field in package.json mentioned above file (the file name can be customized). This file mainly exports two methods: activate and deactivate. The execution timing of the two methods is as follows:

  • activate: The method that is executed when the plug-in is activated
  • deactivate: Method called when the plug-in is destroyed

Debugging and actual combat

After introducing the main files of this initialization project, you can debug and run it. F5 enters debugging mode, and a new window will open as follows:

#This window is marked "Extended Development Host", Ctrl Shift P enter the command we defined before, execute, Text pops up in the lower right corner:

#The demo project we generated has been successfully run. Next, we make slight changes to the plug-in so that it can display today's date and bind shortcut keys to it. The package.json changes are as follows:

extensions.js file changes As follows:

Run, click ctrl f9, it runs normally:

In addition to configuring shortcut keys to run commands, you can also Configure the right-click menu. Contributes can configure the menu:

#After running, you can see this command by right-clicking on the editor and resource manager panels respectively:

Summary

The above is a simple entry-level practical tutorial to help you understand The basic idea of ​​developing a VSCode plug-in is explained. If you encounter more complex and customized needs in the future, you can refer to Official Documents for in-depth study.

Is it necessary to master plug-in development? Putao feels that if there is no need for this at the moment, there is no need to understand it too deeply, but as a self-disciplined brick-and-mortar coder, you can first have a rough understanding of the basic ideas.

Because in our actual work, sometimes a plug-in can solve many problems for certain complex requirements, greatly improving work efficiency.

For example, in this scenario, we use a report control like ActiveReportsJS in the project. In the process of writing code, we sometimes need to modify the design of some reports. Then every time we use it, we must either start the project and open the report designer, or open the report through the desktop report designer.

But in fact, through the CustomEditor interface provided by the VScode plug-in API, we can implement a highly customized private editor for special report files. Click on the report file and directly use the designer provided by this control to preview the file. As shown below:

#The implementation of this plug-in further improves our work efficiency and avoids a lot of repetitive work. Regarding the CustomEditor interface, VSCode also provides official samples vscode-extension-samples. If you are interested, you can learn about it.

For more knowledge about VSCode, please visit: vscode tutorial!

The above is the detailed content of Simple practical sharing: Let's talk to you about VScode plug-in development. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:博客园. If there is any infringement, please contact admin@php.cn delete
手把手带你会习VSCode debug,不信你还不会!手把手带你会习VSCode debug,不信你还不会!Mar 31, 2022 pm 08:45 PM

2022年了,该学会用VSCode debug了!下面本篇文章手把手带大家会习VSCode debug,希望对大家有所帮助!

浅析VSCode怎么关闭自动更新浅析VSCode怎么关闭自动更新Jun 02, 2022 pm 12:56 PM

VSCode怎么关闭自动更新?下面本篇文章给大家介绍一下VSCode关闭自动更新的方法,希望对大家有所帮助!

手把手带你在VSCode中配置 Geant4 和 Root手把手带你在VSCode中配置 Geant4 和 RootApr 25, 2022 pm 08:57 PM

本篇是VSCode配置文章,手把手教大家怎么在VSCode​中配置使用 Geant4 和 Root,希望对大家有所帮助!

23个提高开发效率的前端VSCode插件(快来收藏)23个提高开发效率的前端VSCode插件(快来收藏)Jul 25, 2022 pm 08:06 PM

本篇文章给大家分享23个前端VSCode插件,助你提高开发效率,让你事半功倍,快来收藏吧!

扒一扒vscode Prettier选项中的16个实用属性,让代码变美!扒一扒vscode Prettier选项中的16个实用属性,让代码变美!May 03, 2022 am 10:00 AM

本篇文章扒拉一下vscode Prettier的选项,总结分享16个让你的代码变漂亮的属性,希望对大家有所帮助!

总结分享12个好玩有趣的 VSCODE 插件总结分享12个好玩有趣的 VSCODE 插件May 27, 2022 am 11:06 AM

“工欲善其事,必先利其器!”,vscode作为前端开发的重要工具,其插件能大幅提升战斗力,精心收集12个插件,总有几款你还未曾拥有。

VSCode中如何开发uni-app?(教程分享)VSCode中如何开发uni-app?(教程分享)May 13, 2022 pm 08:11 PM

VSCode中如何开发uni-app?下面本篇文章给大家分享一下VSCode中开发uni-app的教程,这可能是最好、最详细的教程了。快来看看!

手把手教你在VScode中配置C/C++环境(Win下)手把手教你在VScode中配置C/C++环境(Win下)Oct 10, 2022 pm 06:52 PM

VScode中怎么开发置C/C++?怎么配置C/C++环境?下面本篇文章给大家分享一下Windows系统下VScode配置C/C++环境图文教程,希望对大家有所帮助!

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks agoBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks agoBy尊渡假赌尊渡假赌尊渡假赌

Hot Tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

SublimeText3 Linux new version

SublimeText3 Linux new version

SublimeText3 Linux latest version

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!