【问题标题】:Is there a way to copy a file on save vscode有没有办法在保存vscode时复制文件
【发布时间】:2022-12-11 19:47:40
【问题描述】:

工作流程自动化

  • 文件夹B中的代码文件file
  • 将文件复制到文件夹A

有没有办法在 vscode 中保存这个文件/多个文件?

语境

我有两个文件夹AB。文件夹B 中有一些代码必须复制粘贴到文件夹A 才能执行。但是版本控制在这个文件的文件夹B 上,所以我必须在那里编码。

【问题讨论】:

  • 您可以创建一个multi-command(扩展名)并将其绑定到Ctrl+S,多命令保存文件并执行复制文件的任务
  • 看起来它可以工作,但不确定是否可以将它集成到我的 vim 工作流程中。您知道是否有办法将其启用到特定文件/文件夹?
  • 您可以将当前文件路径(完整或相对)提供给 shell 脚本,这将决定它是否将复制,或者在任何保存时始终将文件 X 和 Y 从文件夹 B 复制到文件夹 A。
  • 我建议做一个扩展来贡献那个特定的命令并为它启用代码操作。然后您可以将该命令放入runOnSave 设置中。

标签: visual-studio-code vscode-extensions


【解决方案1】:

我终于做到了,所以我分享它!同时使用 Visual Studio Code 扩展:多命令(来自@ryuta46)和命令运行器(来自@edonet)我可以添加一个在“Ctrl+s”快捷键(保存文件时)上触发的“多命令”,将文件复制到另一个目录:

添加到 settings.json创建一个名为 copyFile 的新“多命令”:根据需要调整目标。此命令保存文件,等待 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"
    }
]

【讨论】:

    猜你喜欢
    • 2018-01-27
    • 1970-01-01
    • 2020-05-17
    • 1970-01-01
    • 2011-09-19
    • 2021-12-18
    • 2011-09-05
    • 1970-01-01
    • 2020-04-02
    相关资源
    最近更新 更多