簡體   English   中英

如何在 VS 代碼中設置快捷鍵以在我的工作目錄中運行 .bat 文件?

[英]How can I set a shorcut key in VS code to run a .bat file in my working directory?

在我的研究中,我使用有限元方法,我們使用 Abaqus 的求解器,它使用 Fortran 制作的子程序,我使用 vs 代碼來編輯它們。 所以為了運行我的代碼,我制作了一個批處理文件,使這個過程更簡單(避免在 cmd 中輸入許多指令)。

在這張圖片中,您可以看到我的工作目錄中的文件,如果我可以設置一個快捷方式來執行 principal.bat 文件和另一個直接從 vs 代碼中執行 terminate.bat 的快捷方式,它將為我節省很多時間:批處理文件 我感謝任何幫助,我試圖為此目的設置一個 task.json 文件,但我有點迷茫。

可以使用擴展命令在終端中輸入批處理文件命令

將此添加到您的settings.json

  "multiCommand.commands": [
    {
      "command": "multiCommand.callPrincipal",
      "sequence": [
        { "command": "workbench.action.terminal.sendSequence",
          "args": { "text": "principle.bat\u000D" }
        }
      ]
    },
    {
      "command": "multiCommand.callTerminate",
      "sequence": [
        { "command": "workbench.action.terminal.sendSequence",
          "args": { "text": "terminate.bat\u000D" }
        }
      ]
    }
  ]

然后在keybindings.json定義 2 個鍵keybindings.json

  {
    "key": "shift+alt+F1",  // or any other key combo
    "command": "multiCommand.callPrincipal"
  },
  {
    "key": "shift+alt+F2",  // or any other key combo
    "command": "multiCommand.callTerminate"
  }

您可以添加when子句來限制鍵綁定的有效性


編輯

當您只需要 1 個終端命令時,不需要使用multi-command擴展,您可以定義鍵綁定的參數

  {
    "key": "shift+alt+F1",  // or any other key combo
    "command": "workbench.action.terminal.sendSequence",
    "args": { "text": "principle.bat\u000D" }
  },
  {
    "key": "shift+alt+F2",  // or any other key combo
    "command": "workbench.action.terminal.sendSequence",
    "args": { "text": "terminate.bat\u000D" }
  }

或者您可以定義 2 個任務來啟動批處理文件並使用終端運行它們 | 運行任務....

如果您指定一個作為構建任務,您可以使用快捷鍵。

我找不到運行命名任務的命令,因此可以在鍵綁定中使用它。

您可以添加調試配置,然后使用F5啟動該配置。
cppvsdbg類型在這里不重要,因為您不能(也不想)調試批處理文件。

Shift-F5殺死批處理

啟動文件

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Start batch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "cmd.exe",
            "args": [
                "/c",
                "principal.bat"
            ],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false
        }
    ]
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM