自动化工作流程
file
文件夹B
- 复制文件到文件夹
A
是否有办法让这个文件/多个文件复制保存在vscode?
<上下文/h2>
我有两个文件夹A
和B
。文件夹B
中有一些代码,必须复制粘贴到文件夹A
中才能执行。但是这个文件的版本控制在B
文件夹上,所以我必须在那里编码。
我终于做到了,所以我分享了!使用Visual Studio Code扩展:多命令(来自@ryuta46)和命令运行器(来自@edonet),我可以添加一个'多命令'触发'Ctrl+s'快捷键(保存文件时),将文件复制到另一个目录:
添加到settings.json创建一个名为copyFile的新"multi命令":根据需要调整目标。此命令保存文件,等待2秒,然后复制到另一个位置。
"multiCommand.commands": [
{
"command": "multiCommand.copyFile",
"label": "Copy file to another location",
"description": "copy the current $file to another root hard-coded destination, require 'command-runner' plugin.",
"interval": 2,
"sequence": [
"workbench.action.files.save",
{
"command": "command-runner.run",
"args": { "command": "cp "${file}" "x:/${relativeFile}"" }
}
]
}
)添加到keybindings.json在'Ctrl+s'
上触发前面定义的copyFile多命令[
{
"key": "ctrl+s",
"command": "extension.multiCommand.execute",
"args": {
"command": "multiCommand.copyFile"
},
"when": "editorTextFocus"
}
]
这可以通过单个宏扩展完成,如Multi-Command。在您的keybindings.json
:
{
"key": "alt+s", // whatever keybinding you want
"command": "extension.multiCommand.execute",
"args": {
"sequence": [
"workbench.action.files.save",
{
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "cp '${file}' '${relativeFileDirname}\copyTo'u000D"
}
}
]
}
}
sendSequence
命令将参数文本发送到终端—示例脚本假设一个类似bash的shell。
可以看到,它保存并复制当前文件到copyTo
文件夹,该文件夹与当前文件在同一父目录下。
u000D
是一个返回,所以命令立即运行,而不必手动点击return。