vscode学习之命令行扩展
vscode 学习之命令行扩展
命令行是 vscode 最常用的功能,命令行扩展是 vscode 自身扩展性不可或缺的一部分
组件的创建及运行
创建
通过 yeoman 和 vscode extension generator 初始化一个扩展
npm install -g yo generator-code yo code
TypeScript 是 vscode 实现的特点之一,推荐选择 Typescript 扩展模版体验 ts 编码的别样感受
运行
- vscode 编辑器中打开创建好的项目
F5
或者点击 debug 面板开始调试进入调试模式。按照官方文档描述,此时会自动打开一个新的 vscode 面板,新开的 vscode 会识别当前调试的插件但是自己在此过程中遇到一个问题:launch.json中配置的前置的npm: watch
任务执行阻塞,未能打开新的面板,需手动重启一次watch任务(执行⇧⌘B
),重新进入调试模式(执行⇧⌘F5
)F1
或者⇧⌘P
打开命令输入,执行Hello World
, 界面右下角会弹出Hello World
信息框。第一个命令行扩展完成ln -s currentFolder ~/.vscode/extensions/extensionName
,感受插件安装后的效果
核心文件结构
package.json
描述插件入口信息,包括命令扩展文件入口定义,命令显示注册,命令配置
src/extension.ts
插件的执行逻辑
out/*
ts编译后的目标目录
.vscode
vscode 常规配置,定义调试、任务,编辑器设置等
.vscodeignore
提交至 vscode marketplace 忽略的文件
命令行步骤
- vscode 提供了
deactivate
和activate
两个切面方法 在 activate 通过名称注册命令,定义命令执行的逻辑。如下,定义了展示编辑器选中内容信息的逻辑:
let editor = vscode.window.activeTextEditor; if (!editor) { return; } let section = editor.selection; let text = editor.document.getText(section); // Display a message box to the user vscode.window.showInformationMessage(text);
- 编辑器中通过 package.json 中
contributes.commands
列表中定义的命令信息(包含名称属性command和标题属性title的对象)执行命令 - 如果注册命令在 package.json
activationEvents
存在,则执行对应的逻辑
相关推荐
Yvettre 2020-09-15
小焊猪web前端 2020-11-04
changcongying 2020-11-02
azhedashuaibi 2020-09-15
zhongfuyu 2020-08-16
lichuanlong00 2020-08-15
gsl 2020-08-15
mmwalker 2020-08-11
山有木兮卿有意 2020-08-03
Java编程语言学习 2020-07-29
举 2020-07-28
sshong 2020-07-19
fushilin 2020-07-05
80296630 2020-07-04
风雨断肠人 2020-06-14
ningningmingming 2020-06-14
hualala 2020-06-13
choupiaoyi 2020-06-13
Wytheme 2020-06-11