本文摘自PHP中文网,作者青灯夜游,侵删。

视频教程推荐:vscode基础教程
要做的效果如下, 就是一个翻译功能~
需要准备
- 百度翻译开发者账号,取得 appid 和密钥
- npm install -g yo generator-code
关键 vscodeAPI
- 获取当前活动编辑器选中的文字
1 |
|
- 调用快速选择面板
1 |
|
开始 CODING
脚手架创建文件夹代码
1 |
|
选择 JavaScript(Extension), 后面全部按 Enter 默认就行。
百度翻译 API 代码
创建translate-api.js
文件
这里需要知道如何获取用户配置,毕竟同一个 appid 和密钥调用次数有限。需要以下步骤。
注册贡献点
在 vscode 中,菜单、命令、视图等等一切需要在用户面前展示的功能都需要在 package.json 中注册贡献点
贡献配置项如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
- 找到用户配置
ok, 注册贡献点后,就能通过 API 找到刚刚注册的配置项啦
1 |
|
- 调用 API
我习惯使用
axios
所以yarn add axios md5
了, 其中md5
是百度翻译 API 所需要的。
OK, 以下是translate-api.js
的代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
|
如果需要替换成其他翻译 API,如:google 翻译 只需要更改此translate-api.js
代码就好了。
操作 vscode
回到extension.js
中。
第一步, 我们需要找到当前编辑器选中的文本。
1 2 |
|
其中currentEditor.document.getText
方法需要的是Range
,但是由于selection
继承于Range
可以直接把currentEditor.selection
放入参数中。
第二步 分割单词。
翻译出来的单词一般是空格隔开的, 所以用空格分割即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
第三步 将结果放入快速选择面板中。
1 2 3 |
|
第四步 将选择的结果替换选中的文本
1 2 3 4 5 |
|
查看全部代码可以到 github:github
入口文件就是extension.js
为了更方便,注册菜单
为了更方便,注册菜单贡献点。
1 2 3 4 5 6 7 8 9 |
|
其中,
when
是指什么时候出现菜单选项, editorHasSelection
是指存在编辑器有选中文本时。查看 when 还有那些可用选项?vscode when 贡献点 文档
command
是指点击菜单时需要执行的命令
group
是指菜单放置的地方, 查看 group 还有那些可用的选项?vscode group 文档
添加图标
在 package.json 中配置
1 |
|
其中 images/icon.png 是 128*128 像素的图片。
添加 git 仓库,修改 readme 等
如果不添加 git 仓库,发布的时候会有警告。
如果不修改 readme, 将无法发布!
创建账号 token
首先你必须先得创建一个微软账号, 创建完毕后打开如下链接
https://aka.ms/SignupAzureDevOps
右上角点击用户设置-> Personal access tokens
根据提示new token
选择范围的时候,这样选择
登录
vsce create-publisher your-publisher-name
发布
vsce publish
插件地址: https://marketplace.visualstudio.com/items?itemName=chendm.translate&ssr=false#overview
vscode搜索
translateNamed
, 即可体验。github查看代码: https://github.com/chendonming/translate
更多编程相关知识,请访问:编程入门!!
以上就是vscode实战之开发一个五脏俱全的翻译插件的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《vsCode》频道 >>