Better Input:VSCode插件开发指南
Better Input:VSCode插件开发指南
0.准备工作
先安装(更新) node.js 和 nmp
node更新去 Node.js 官网下载最新版本,然后重新安装在原来的安装路径下(第一次下载可只进行第三步)
node -v查看当前版本是否是最新版本where node查看之前的安装路径- 去 Node.js 官网下载
LTS版本 - 执行
node -v查看现在的版本信息
npm -v更新- 查看当前版本
npm install -g npm更新版本npm cache clean --force清理npm缓存数据
1.创建项目
npm install -g yo安装 Yeoman 工具集npm install -g generator-code安装generator-code模块yo code创建新项目
2.编写插件
打开项目,按下 F5 ,会打开一个 扩展开发宿主VSCode 这个窗口包含了你编写的插件
在命令面板( Ctrl+Shift+P )中输入Hello World命令,会在右下角出现 Hello World from *****! 的提示,说明插件运行成功了。
如果右下角没有出现提示,可能是插件默认支持的 VSCode 版本过高,高于你当前的 VSCode 版本。打开项目里的 package.json 文件,将 "vscode": 后面的版本改低一点: 1.8.1标识你的插件只与1.8.1的 VSCode 兼容, ^1.8.0 则表示你的插件向上兼容,包括 1.8.1, 1.9.0 等等。
文件目录如下:
1 | extension name/ |
框架搭好后主要修改两部分:extension.js 和 package.json
package.json
1 | // 插件名称,必须全部小写且无空格 |
extension.js
1 | // 引入VSCode的API模块 |
以上是主要会用到或者修改的部分
3. 本插件实现方法
出于安全性和可控性的考虑, VSCode 并没有提供原生的 API 来直接模拟键盘事件。尽管 VSCode 本身不提供直接的键盘模拟事件的 API ,但仍可以尝试使用第三方的 JavaScript 库,如robotjs 来模拟键盘事件。 robotjs是一个跨平台的 Node.js 库,可以用于模拟键盘和鼠标事件。用户想使用他必须先使用 npm 进行安装: npm install robotjs 然后就是疯狂报错 🤣👉🤡
而且这个方法不够优雅,不能够做到开箱即用(需要用户自己配置环境)
于是在网上一顿乱搜,找到了 AutoHotkey ( 什么是 AHK ? ) AutoHotKey (缩写为 AHK )是一个免费开源的自动化脚本语言和工具,用于自定义键盘快捷键、自动化任务和创建自定义的宏。通过预先编写好的 AHK 脚本,并将其打包成 exe 文件,可以在没有安装 AutoHotkey 的电脑上运行脚本。
接着就是编写 AHK 脚本了。我在 GitHub 上找到一份用 AutoHotKey V2 版本 编写的切换输入法脚本
然后直接在 extension.js 中适时调用切换输入法的 exe 即可
4.发布插件
先在
package.json中填好插件的图标和作者, 然后修改框架里的README.md文件1
2"icon": "图标.png",
"publisher": "作者",直接在
VSCode终端安装vsce:npm install -g vsce如果出现报错,可以在
cmd中安装,效果也是一样的
- 在
VSCode终端安装打包插件 :vsce package
成功打包会在根目录自动生成一个 .vsix 文件
如果出现上图报错, 以管理员身份打开 PowerShell (按下 win 后输入 PowerShell ),在打开的 PowerShell 窗口中,运行命令 Set-ExecutionPolicy RemoteSigned 以解除脚本执行策略的限制。
发布到插件市场
打开 Extensions for Visual Studio 右上角的
Publish extensions,再点击左侧的Create publisher填完基本信息后返回。在New extension中选择Visual Studio Code,点击如下红框内按钮上传刚才生成的.vsix文件
注意,上传的 logo 应为 128px X 128px 的,在这个网站可以更改图片尺寸
上传完成后等几分钟就能在插件市场中找到这个插件了
