【问题标题】:How to automatically save changes before running a Python script in VS Code如何在 VS Code 中运行 Python 脚本之前自动保存更改
【发布时间】:2018-02-22 11:07:31
【问题描述】:

我在 Visual Studio Code 中编写 Python 脚本,并使用 Ctrl+Alt+N 执行它们,这是由扩展名Code Runner。有没有办法强制 VS Code 在运行前保存.py,从而消除保存文件的额外步骤?

【问题讨论】:

  • 所以基本上你想在一些默认文件夹(或/tmp)中创建具有随机名称的文件?看起来您需要为此类任务制作自定义插件并绑定一些热键/快捷方式以快速保存。我认为这个功能不值得(:
  • 听起来很容易制作一个宏来做到这一点。你的快捷方式绑定了什么命令?
  • @Mark 我一开始以为这是一个标准的 VS Code 快捷方式,但实际上它是由 Code Runner 扩展添加的。

标签: python visual-studio-code


【解决方案1】:

快捷方式是由 Code Runner 扩展添加的,它具有在执行前保存当前文件的选项。

{
   "code-runner.saveFileBeforeRun": false
}

documentation 提供更多选项

【讨论】:

  • 我会在哪里输入上面的 sn-p?
  • 这个对我有用。 @Nick 或想知道将它放在哪里的人,Command key + ,然后单击“搜索设置”栏下方的三个点并选择“打开 settings.json”
  • 在 windows 中,点击 F1 -> 输入“打开设置(JSON)”。这将打开 settings.json 文件。现在您可以添加设置:“code-runner.saveAllFilesBeforeRun”:true
【解决方案2】:

最简单的解决方案是文件 -> 自动保存。这在 v1.29.x 中可用

【讨论】:

  • 这会持续保存,而不仅仅是在我希望运行我的代码时。
【解决方案3】:

文件 > 首选项 > 设置 > 扩展 > 运行代码配置 > 运行前保存文件。

(Visual Studio Code 1.32.3,扩展 Code Runner 0.9.8。)

【讨论】:

  • 在设置中搜索 saveFileBeforeRun 并检查。
【解决方案4】:

在 VS-CODE 版本 1.47 上,转到:

文件 -> 首选项 -> 设置 ->(使用“保存”搜索设置),转到底部并按照提供的屏幕截图进行操作。

【讨论】:

    【解决方案5】:

    这目前是不可能的,但是对应的功能请求被跟踪here

    更新

    您可以使用multi-command。为此,请安装扩展并将以下内容添加到您的 settings.json

    "multiCommand.commands": [
        {
            "command": "multiCommand.SaveAllAndDebug",
            "sequence": [
                "workbench.action.files.saveAll",
                "workbench.action.debug.start"
            ]
        }
    ]
    

    然后将您的自定义命令添加到keybindings.json:

    {
        "key": "Ctrl+Alt+N",
        "command": "multiCommand.SaveAllAndDebug",
        "when": "!inDebugMode"
    }
    
    【解决方案6】:

    我建议使用我在评论中建议的扩展名macros。它似乎比multi-command 扩展更强大。 macros 将接受命令参数,例如也可以与您的 sn-ps 一起使用。从很少的文档中我不清楚multi-command 会做这些事情。

    在你的情况下:

     "macros": {
            "chooseNameHere": [
                "workbench.action.files.save",
                "your run python script here command"        
            ]
     }
    

    我不知道你的 Ctrl-Alt-N 是什么命令,它不是默认值之一,所以必须添加通过 python 扩展。您可以通过在键绑定中搜索并使用该命令来找到它。然后你喜欢这个宏的任何键绑定:

    {
        "key": "ctrl+shift+.",
        "command": "macros.yourMacroNameHere"
      },
    

    【讨论】:

    • 这个可以,但是在得知快捷方式是Code Runner扩展添加的之后,我找到了一个在执行前保存文件的配置。
    猜你喜欢
    • 2010-10-05
    • 1970-01-01
    • 1970-01-01
    • 2020-05-28
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 2014-07-20
    相关资源
    最近更新 更多