在VSC中打开特定文件的快捷方式?

时间:2018-08-06 16:17:36

标签: visual-studio-code key-bindings

我想定义一个键盘快捷方式来打开特定文件(在本例中为我的待办事项文件)。

我不知道是否可以在键盘设置中使用命令。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

您可以完成任务,方法如下:

打开您的tasks.json文件:

F1 -> type: "Tasks: Configure Tasks" -> select: "Open tasks.json file"

粘贴以下内容:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "openMyFile",
            "type": "shell",
            "command": "path_to_your_VSCode path_to_your_file.txt"
        },
    ]
}

在您的keybindings.json中添加:

{
    "key": "ctrl+scrolllock", # Or some other binding
    "command": "workbench.action.tasks.runTask",
    "args": "openMyFile" # <- Your task's name in this case openMyFile
},

应该这样做。

答案 1 :(得分:0)

在Tasks中依赖启动code命令的方案感觉有点重量级,不适合Code-Server。这是一种更“原生”的方法:

  1. 安装 VSCode Macros 扩展。
  2. 在某处创建一个文件 macros.js(例如在 $workspace/.vscode/macros.js 中):
    const vscode = require('vscode');
    
    module.exports.macroCommands = {
       OpenTodo: {
          no: 1,
          func: () => openFile("/full/path/to/your/todo.md")
       },
    };
    
    async function openFile(filename) {
      const document = await vscode.workspace.openTextDocument(filename);
      const editor = await vscode.window.showTextDocument(document);
    }
    
  3. 添加到您的 settings.json
    "vscodemacros.userMacroCommands": [
      {
        "path": "/full/path/to/your/.vscode/macros.js",
        "name": "OpenTodo"
      },
    ]
    
  4. 打开键盘快捷键(默认为 Ctrl+K Ctrl+S),找到命令“VCSMacros:User Macro1”并将其映射到您喜欢的键。重新加载窗口(至少在键盘快捷键开始工作所需的代码服务器中)。