VS Code 可以使用外部程序打开文件吗?

Mef*_*ico 11 visual-studio-code vscode-extensions

有没有办法设置 VS Code,以便在嵌入式文件资源管理器中双击 .docx 文件会导致在 Microsoft Word 中打开该文件?

我已经习惯了 PyCharm,但已经迁移到 VS Code。我习惯于创建 Word 文档文件 (.docx),然后在左侧子窗口的文件资源管理器中双击它们以启动 Word 并查看文档的外观。这在 PyCharm 中有效,但在 VS Code 中,它尝试将文件作为二进制文件打开,并声称它没有编辑器。即使它确实有编辑器,我也希望它在我的第二台显示器中打开(或者至少能够将其移动到我的第二台显示器)。目前,我正在打开一个文件资源管理器窗口并双击那里的文件,这并不是最佳的。

小智 7

它并不完全是双击,但您可以创建一个打开文件命令作为任务,然后将该任务绑定到键盘快捷键,这相当于一次单击和一个热键。

创建打开文件任务

我们最好将此任务设为用户级,以便在每个项目中都可以访问。

ctrl+shift+p并搜索Tasks: Open User Tasks

tasks.json文件中,将打开文件任务添加到tasks数组中:

// Inside "tasks": [ ... ]
{
  "label": "open file",
  "type": "shell",
  "command": "${file}",
  "presentation": {
  // Hides the task terminal from showing up
    "reveal": "never",
  }
}
Run Code Online (Sandbox Code Playgroud)

将 更改"command"为您的 shell 的打开文件命令(仅${file}适用于 Windows,但将其更改为xdg-open ${file}适用于 Linux)

为打开文件任务分配键绑定

要将任务命令绑定到键绑定ctrl+shift+p并搜索keyboard shortcuts (JSON),请打开文件。将以下内容添加到数组中(更改"key"为您想要的任何组合)

// [ ... ]
{
  "key": "ctrl+alt+l",
  "command": "workbench.action.tasks.runTask",
  "args": "open file"
}
Run Code Online (Sandbox Code Playgroud)

要打开任何文件,请单击它以将其聚焦在选项卡中(该选项卡设置${file}在 中定义tasks.json)并使用指定的热键。(顺便说一句,打开将 vscode 作为默认程序的文件将在同一实例中打开它,因此看起来该任务没有执行任何操作)