本文主要是介绍插件界的瑞士军刀,VSCode 已经无所不能!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
公众号关注 “GitHubDaily”
设为 “星标”,每天带你逛 GitHub!
powertools 可以称得上插件界的 瑞士军刀。
相对于 VS Code 中大多数插件的出现为了解决某一项弊端和不足,powertools 则聚合了很多强大且实用的功能,能够增强 VS Code 的功能,并提升 VS Code 的使用体验。
powertools 就如同之前使用 iOS 系统时使用过的一款软件 Workflow,它相对于大多数插件功能更加丰富,但是门槛也更高一些。
也就是说,想要最大发挥这款插件的价值,仅凭默认的配置是不行的,还需要结合脚本使用。换句话说,需要自己会用 js 开发一些脚本,如同开发一款简易版的 vs code 插件,来实现对应的功能。
下面,就来看介绍一下这款插件的基本使用和优点吧!
安装
我相信,对于使用过 VS Code 的同学来说,安装插件是一件再容易不过的事情。
安装插件的方法主要有两种:
方法 1:手动安装
点击左侧的活动栏上的扩展图标,然后搜索 powertools,点击安装即可。
方法 2:命令安装
使用快捷键 Ctrl+P
,输入命令 ext install vscode-powertools
,点击 Enter 键就可以安装插件。
如果上述两种方式走不通,也可以访问访问网页端插件市场 [1],搜索对应的插件安装即可。
powertools
既然能够被称为瑞士军刀,那么它的功能自然就会非常丰富。
这款插件的功能大体可以分为如下几类:
应用
按钮
命令
事件
工具
下面就分别来介绍一下。
应用
这里所说的应用是基于 Node.js 的脚本,可通过 Web 视图运行,并且还可以与 Visual Studio Code 实例进行交互。
创建应用只需要如下 3 步:
点击按键
F1
或者Ctrl+Shift+P
选择
Power Tools: Apps
选择
Create App ...
输入对应应用的名称就完成了一款应用的创建,然后再执行前面的 1~2 步,第 3 步选择 Open App ...
就可以打开初始化的应用。
这对于很多使用 Vue 开发前端的同学能够提供很大便利。
按钮
在开发过程中,会有很多重复性的动作,例如,执行某个 Python 脚本、运行某个 shell 脚本。我们没有必要再去打开终端进入对应的工程目录,执行对应的任务或者 shell 脚本,通过添加 1 个 vs code 快捷按钮就可以实现一项繁琐且频繁用到的功能。
使用按钮功能,需要配置一下 vs code 的配置文件 settings.json
,
{"ego.power-tools": {"buttons": [{"text": "Click me!","tooltip": "You run an awesome script by clicking that button!","action": {"type": "script","script": "my_button.js"}}]}
}
在上述配置中可以看出,这个按钮名称为 Click me!
,它执行了一个脚本 my_button.js
,然后来看一下这个 js 脚本的内容,
exports.execute = async (args) => {// args => https://egodigital.github.io/vscode-powertools/api/interfaces/_contracts_.buttonactionscriptarguments.html// s. https://code.visualstudio.com/api/references/vscode-apiconst vscode = args.require('vscode');vscode.window.showInformationMessage('Hey, you clicked me!');
};
这个脚本的功能就是弹出一个消息框,下面来看一下效果。
命令
为了增强 VS Code 的功能,可以自定义一个命令,这样的话就可以在 VS Code 任何位置都可以调用。
和按钮一样,需要首先配置一下 settings.json
,
{"ego.power-tools": {"commands": {"myCommand": {"script": "my_command.js","button": {"text": "Click here to start the command."}}}}
}
然后,创建一个 js 脚本,
exports.execute = async (args) => {// args => https://egodigital.github.io/vscode-powertools/api/interfaces/_contracts_.workspacecommandscriptarguments.html// s. https://code.visualstudio.com/api/references/vscode-apiconst vscode = args.require('vscode');vscode.window.showInformationMessage(`Hello, from '${ args.command }'!`);
};
下面来看一下效果,
详细的函数列表可以使用命令 $help
查看,也可以访问链接 [2] 了解一下。
事件
我觉得这是 powertools 这些功能中较为实用的一项,通过配置 powertools,可以对我们在 vs code 中的一系列事件作出相应的反应。例如,当文件修改或者删除时能够提示到开发人员。
下面来看一下例子,
{"ego.power-tools": {"events": [{"type": "file.changed","files": [ "**/*.txt" ],"exclude": [ "/test2.txt" ],"action": {"script": "my_event.js","type": "script"}}]}
}
然后是脚本 my_event.js
,
exports.execute = async (args) => {// args => https://egodigital.github.io/vscode-powertools/api/interfaces/_contracts_.filechangeeventactionscriptarguments.htmlconst path = require('path');// s. https://code.visualstudio.com/api/references/vscode-apiconst vscode = args.require('vscode');vscode.window.showInformationMessage(`The following file has changed: ${ path.relative(__dirname + '/..',args.file.fsPath)}`);
};
这样,当文件修改时,就会得到相应的提示,下面看一下演示效果,
工具
重头戏来了!
前面提到的那些功能还是存在一定的门槛,对于喜欢尝试和挑战的同学是不错的功能。但是,对于仅仅想体验它功能的同学却显得枯燥乏味。
既然,powertools 能够称得上插件领域的瑞士军刀,那么它当然不能仅包含前面这些功能。
powertools 内置了很多丰富而且实用的函数和模块,这些函数的使用方式分为如下几个步骤:
点击按键
F1
或者Ctrl+Shift+P
选择
Power Tools: Tools
选择
Code Execution ...
然后就可以输入对应的函数即可。
powertools 支持哪些函数?
执行上述 1~3 步,然后输入 $help
,就可以列出 powertools 支持的函数列表。
因为,powertools 支持的函数和模块较多,无法一一介绍,所以就挑 3 个介绍一下。
计算器
执行前面 1~3 步,输入需要计算的数学公式就可以弹出计算结果,
Base64 编码
Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,在数据的加解密中经常会用到。在 powertools 中能够轻松的对字符串进行 Base64 编码。
示例:
$base64("mkloubert:P@ssword123!")
搜索表情
输入对应的关键字,powertools 就可以返回相关 emojis 表情列表。
示例:
$emojis("heart")
结语
除了本文介绍的应用、按钮、命令、事件、工具这些功能,powertools 还可以用于执行定时作业、脚本、启动、用于定义动态设置的占位符,感兴趣的同学可以摸索尝试一下这些功能。
参考资料
[1]
网页端插件市场: https://marketplace.visualstudio.com/vscode
[2]链接: https://github.com/egodigital/vscode-powertools/wiki/Tools
---由 GitHubDaily 原班人马打造的公众号:GitCube,现已正式上线!
接下来我们将会在该公众号上,为大家分享优质的计算机学习资源与开发者工具,坚持每天一篇原创文章的输出,感兴趣的小伙伴可以关注一下哈!
这篇关于插件界的瑞士军刀,VSCode 已经无所不能!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!