大家好,关于vscode官网中文版很多朋友都还不太明白,不过没关系,因为今天小编就来为大家分享关于vscode使用教程的知识点,相信应该可以解决大家的一些困惑和问题,如果碰巧可以解决您的问题,还望关注下本站哦,希望对各位有所帮助!
如何编写一个Vs Code插件
本文邀请cheeqi来回答,让他手把手教你如何开发一个爆款VSCode插件!
vscode插件的形态和一个npm包非常相似,需要在项目的根目录添加package.json,并且在其中增加一些vscode独家的设置。其中最主要的设置是ActivationEvents(插件的激活时机)和contributionpoints(插件的能力)。接下来我们主要看看这两个配置具体是什么意思。
声明插件的激活时机ActivationEvents我将vscode的生命周期简单描述为下图。下面会做进一步解释。
[vscode插件生命周期(转载请注明作者cheeqi)]
activate()函数&deactivate()函数
可以看到生命周期中最终要的两个节点就是activate函数和deactivate函数。这两个函数需要在插件npm模块的入口文件export出去给vscode主动调用。
其中,activate会在vscode认为合适的时机调用,并且在插件的运行周期内只调用一次。因此在activate函数中开始启动插件的逻辑,是一个非常合适的时机。
deactivate函数会在插件卸载之前调用,如果你的卸载逻辑中存在异步操作,那么只需要在deactivate函数中retuen一个promise对象,vscode会在promiseresolve时才正式将插件卸载掉。
onXxxxActivationEvents可以看到在activate函数之前,还有onLanguage等事件的描述,实际上这些就是声明在插件package.json文件中的ActivationEvents。声明这些ActivationEvents后,vscode就会在适当的时机回调插件中的activate函数。vscode之所以这么设计,是为了节省资源开销,只在必要的时候才激活你的插件。当然,如果你的插件非常重要,不希望在某个事件之后才被激活,你可以声明ActivationEvents为*这样vscode就会在启动的时候就开始回调activate函数。
插件的具体逻辑插件中的具体逻辑vscode没有做任何限制,你可以通过调用vscdoe提供的各种api对其进行扩充。不过需要注意的是,出于性能和移植性考虑,vscode不允许开发者直接操作dom。
关于vscode的api可以参考
https://code.visualstudio.com/api/references/vscode-api这是微软根据vscode的d.ts文件生成的文档
举个例子接下来我们来看几个插件的ActivationEvents声明
超越鼓励师申明了onCommand:ycy.showReminderView和*,其实我们都知道只声明后一个就足够了
vuter申明了onLanguage:vue所以他会在用户打开vue语言文件时被激活
vscode-icons是一个纯主题插件,声明的是*
GitLens需要覆盖所有的文件,并且在vscode启动时就需要激活,他的声明是*
关于ActivationEvents的说明可以参考官方文档https://code.visualstudio.com/api/references/activation-events
声明插件的贡献点contributionpoints
需要在package.json中声明的另一个重要字段就是contributionpoints。contributionpoints描述了当前插件支持哪些能力,以及对应能力的配置。
由于vscode禁止直接操作dom,往UI中插入功能的正确方式是声明贡献点。下图列出了vscode支持的所有贡献点。
[目前vscode支持的贡献点]
举个例子
接下来我们来看几个插件的contributionpoints声明
超越鼓励师支持通过commands触发杨超越的提醒,同时可以配置提醒出现的时机,因此包括commands/configuration
vuter主要为vue文件提供语言支持,可以看到他提供的contributionpoints比较广,包括commands/breakpoints/languages/grammars/configuration
vscode-icons已支持主题为主,他提供了iconThemes/commands/configuration
GitLens是对vscodegit功能的增强,所以他的插入点集中在UI上的能力configuration/commands/menus/resourceLabelFormatters/viewsContainers/views
关于contributionpoints的更多说明可以参考https://code.visualstudio.com/api/references/contribution-points
编程语言支持那么,要怎么给vscode增加一门新的编程语言支持呢?
就像之前说的,vscode主要支持两类编程语言支持:声明类语言特性主要描述了代码高亮、代码片段等轻量级需要实时给出响应的语言特性支持;而程序类语言特性只要提供更加高级的跳到定义、查找引用、hover提示等对实时性要求不高,而且需要大量计算的语言能力。因此前者更加适合在IDE的主线程进行处理,而后者可以考虑拆分到其他线程甚至服务中进行计算。
声明类语言特性(基本支持)
下面主要以语法高亮为例子介绍声明式语言支持。
[从手写paser到TextMate]
在最初,微软的工程师们为web开发中常见的开发语言都手写了paser。这类paser执行效率很高,但对开发者的能力要求也比较高,不太适合未来的插件扩展。从vscode1.8版本开始,微软引入了TextMate的高亮语法,并逐步将原有的手写paser切换到这种语法上。
[TextMate官网]
TextMate本身是mac下的一个文本编辑器,vscode借用了他对语言高亮文本的定义方式。TextMate语法的本质是用一个json文件来描述语言中的token和结构,当然为了方便,也可以改用YAML并编译成json。
顺便一提,而TextMate语法使用的是oniguruma库来解析正则表达式,oniguruma中支持一些js引擎目前还不支持的正则特性,因此在vscode中使用了一个oniguruma的c++模块来加速正则表达式解析速度。
另外,为了方便开发者编写语法高亮插件,vscode还提供了一个yomen模板用于生成插件基本目录结构,以及一个名为inspectTMScopes的调试器查看词法分析的结果。
[vscode提供的yomen模板]
[inspectTMScopes]
除了语法高亮外,vscode还支持这些特性:注释切换、括号定义、自动闭合、Autosurrounding、代码折叠、wordPattern、缩进规则等,详见
https://code.visualstudio.com/api/language-extensions/language-configuration-guide
windows7如何安装vscode
VSCode是一个轻巧的跨平台代码编辑器,在Windows上运行也非常简单。首先,您需要从官网下载并安装VSCode的Windows版本。安装完成后,您可以通过以下步骤来启动VSCode:
1.打开VSCode的安装目录,双击“Code.exe”文件。
2.通过Start菜单或桌面快捷方式打开VSCode。
3.在命令提示符中输入“code”命令并按Enter键。
无论您选择哪种方法,VSCode启动后就可以开始编写和运行代码了。您可以通过菜单栏中的“终端”选项或按Ctrl+`键来打开终端并执行命令。VSCode也支持安装各种插件和扩展,以增强其功能。
win11怎么装vscode
1、首先,登陆VisualStudioCode官网,点击下载;
2、选择你的电脑操作系统平台,下载合适的安装包;
3、双击下载的安装包,进入安装向导界面,选择安装到指定的目录;
4、点击运行,开始安装;
5、安装完成之后会自动运行,首页Welcome。
vscode下载不了
可以去官网下载的,很方便
vscodeformac怎么安装
在Mac上安装VSCode非常简单,只需要按照以下步骤进行操作:
打开浏览器,进入VSCode官网(https://code.visualstudio.com/)。
点击页面上的“DownloadforMac”按钮,下载VSCodeforMac的安装包。
下载完成后,双击安装包进行安装。如果安装时提示“无法打开”,需要在“系统偏好设置”中打开“安全性与隐私”,允许安装未知来源的应用程序。
安装完成后,将VSCode拖动到“应用程序”文件夹中,即可完成安装。
安装完成后,打开VSCode即可开始使用。如果需要使用一些特定的开发功能,还需要安装相应的插件。在VSCode中,可以通过“Extensions”(扩展)菜单来搜索、安装和管理插件。
分享
好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!