VSCode 中用于 Markdown 链接的键盘快捷键?

met*_*ops 7 markdown visual-studio-code

来自其他文本编辑器,我习惯于通过以下方式添加 Markdown 链接

  1. 选择我想要链接的单词,
  2. 在 Mac / iPad Pro 的键盘上按 cmd-K,在标记的单词周围加上方括号,附加一对普通括号 () 并将光标放在这两个括号之间,以便我可以
  3. 只需按 cmd-V 将我在剪贴板中的 URL 粘贴到正确的位置。

因此,选择 -> cmd-K -> cmd-V 是一个很好的短序列,用于在 Markdown 文档中添加链接,而 cmd-K 已成为在多个写作应用程序中添加链接的某种伪标准。

但是,在 VSCode 中这是不可能的。但我很想让它成为可能。有任何想法吗?cmd-K 是(硬连线的?)必须监听下一次按键。但它不一定是 cmd-K。我可以学习另一个击键。但是我需要能够将附加文本(方括号和圆括号)放入文本并将光标移动到正确的位置。那是怎么做的?

非常感谢!

Mar*_*ark 13

添加另一个不使用我在另一个答案中提到的扩展Markdown All In One 的答案,因为一些评论者要求采用不同的方式。@MarcoLackovic

  • 第一种方法:keybindings.json中的键绑定,然后手动粘贴
{
  "key": "alt+w",                  // use whatever keybinding you wish
  "command": "editor.action.insertSnippet",
  "args": {
    "snippet": "[${TM_SELECTED_TEXT}]($0)"
  },
  "when": "editorHasSelection && editorLangId == markdown "
}
Run Code Online (Sandbox Code Playgroud)

选择链接文本,然后触发键绑定 - 光标将放置在您想要的位置并粘贴。


  • 第二种方法:使用宏插入片段并一步粘贴

您将需要像多命令这样的宏扩展来连续运行多个命令。然后这个键绑定:

{
  "key": "alt+w",
  "command": "extension.multiCommand.execute",
  "args": {
    "sequence": [
      {
        "command": "editor.action.insertSnippet",
        "args": {
          "snippet": "[${TM_SELECTED_TEXT}]($0)"
        }
      },
      "editor.action.clipboardPasteAction"
    ]
  },
  "when": "editorHasSelection && editorLangId == markdown "
}
Run Code Online (Sandbox Code Playgroud)

第二种方法演示:

Markdown 链接生成演示


Mar*_*ark 12

这个扩展Markdown All In One看起来像是一步完成你想要的。

在所选文本上粘贴链接

粘贴链接演示

只需选择您的链接并点击Ctrl+ V,它就会创建链接并插入剪贴板链接。

如果由于某种原因你不想使用这个扩展,创建一个片段来做你想做的事情会很容易。

  • _Markdown All In One_ 是一个很好的扩展,但有时会干扰我的工作流程:我希望有一种方法可以单独拥有快捷方式功能,而不是其余功能。[VsCode 在很多方面支持 Markdown](https://code.visualstudio.com/docs/languages/markdown),我想知道为什么他们没有原生实现这个基本的东西。 (2认同)

mc5*_*c51 2

2024 年 1 月最新版本的 VSCode (1.86.0) 现在支持此作为标准功能。请参阅发行说明

想要将您复制的链接转换为 Markdown 链接吗?当您将 URL 粘贴到选定文本的 Markdown 文件中时,VS Code 现在会自动插入 Markdown 链接

vscode Markdown 链接粘贴功能演示