【问题标题】:How to transfer VSCode key mapping on windows to ubuntu如何将 Windows 上的 VSCode 键映射转移到 ubuntu
【发布时间】:2018-10-09 17:59:36
【问题描述】:

我在 Windows 上使用 vs-code 作为我的首选编辑器。最近我在 Ubuntu 上安装了,现在默认的键映射不同了。

有什么方法可以在 Ubuntu 上设置与 Windows 类似的键映射,或者至少是其中的一个子集?

【问题讨论】:

  • @odyn-Kon 有任何疑问吗?
  • 非常类似于问题VSCode - Importing keyboard shortcuts,我花了一些时间研究但没有找到满意的答案。默认绑定在源代码中是硬编码的,这使得它们难以自动提取,并且跨平台有很多差异。我的方法是明确自定义我使用的所有内容...
  • @ScottMcPeak Preferences: Open Default Keyboard Shortcuts (JSON) 命令看起来很有希望。
  • @HolyBlackCat 是的!我以前没见过。为了更加清楚,可以在命令面板 (Ctrl+Shift+P) 中使用。

标签: visual-studio-code vscode-settings


【解决方案1】:

我创建了一个提供默认 Windows 键绑定的扩展。它在VSCode extension marketplace 上,名为Windows Default Keybindngs

我已经在 Linux 上使用 VSCode 1.38.0 和 1.36.1 对其进行了测试。

在发生冲突时,新绑定优先,但现有的非冲突绑定仍然可用。

基本上我所做的只是使用 HolyBlackCat 的建议运行“首选项:打开默认键盘快捷键 (JSON)”并将结果填充到 package.json 中的适当位置。 (加上文档并弄清楚如何发布它!)

2020-06-05 更新:针对评论中的问题,我进行了搜索并找到了 LinuxKeybindings,这是一个提供默认 Linux 绑定的扩展。我自己没有尝试过,但这对于那些想要 Linux 绑定而不是 Windows 绑定的人来说可能很有用。

【讨论】:

  • 不会出现快捷方式冲突的问题吗?据我了解,这会增加额外的快捷方式,但不会删除现有的快捷方式。
  • 对,它不会删除任何东西。发生冲突时,仅使用我的扩展中的绑定;至少,这是我在测试中观察到的。我最初认为我可能必须取消绑定一些现有的键,但据我所知,这是不必要的。
  • @ScottMcPeak 你知道任何相反的扩展吗?我习惯了 VSCode Linux 键绑定,现在我正在尝试 WSL2 并想继续使用我的旧键..
  • @JoãoRamires 我刚刚进行了搜索,发现了一个很有前途的候选者,LinuxKeybindings。请参阅我刚刚添加到答案末尾的段落。
【解决方案2】:

无需扩展即可快速传输默认键盘映射:

VS 代码窗口(源代码)

  • 打开“显示所有命令”/Ctrl+Shift+P
  • 选择Open Default Keyboard Shortcuts (JSON) (docs)

    注意@Ville Venäläinen's answer 不适用于我的默认键绑定。

  • 将所有内容复制到剪贴板或临时文件(如您需要)

VS Code Linux(目标)

  • 打开用户键绑定 / CTRL + K CTRL + S → 点击Open Keyboard Shortcuts (JSON)按钮

  • 将之前复制的所有设置粘贴到此文件中。如果您已经有自定义用户设置,请确保不要覆盖它们。同时保留文件 JSON 结构 [{}, {}, ...]


补充说明

您可以在之前对键盘映射进行备份。默认文件位置类似于settings.json:

Linux: $HOME/.config/Code/User/keybindings.json
Windows: %APPDATA%\Code\User\keybindings.json

如果需要,还可以复制源中的自定义用户键盘快捷键并将它们附加到目标 keybindings.json 文件中(如上所述)。

这对我来说非常适合 Debian 目标发行版。如果您碰巧遇到键冲突,只需删除或更改此案例的相关键绑定即可。

【讨论】:

    【解决方案3】:

    至少使用最新的 VSCode,您可以转到 File -> Preferences -> Keyboard Shortcuts。在该页面上,搜索字段下有一个文本:对于高级自定义,请打开并编辑 keybindings.json。这将为您打开一个视图,左侧显示默认键绑定,右侧显示您自己的绑定的空文件。您可以尝试从 Windows 复制这些绑定并将其保存到您的 Ubuntu 中。

    【讨论】:

    • 感谢您的回复和您的时间。但我正在为此寻找某种扩展,因为我不想为此目的维护自定义设置。
    【解决方案4】:

    我个人使用code-settings-sync 扩展。

    使用 GitHub Gist 在多台机器上同步设置、片段、主题、文件图标、启动、键绑定、工作区和扩展。

    【讨论】:

      【解决方案5】:

      如果您没有自定义键盘映射,请查看 VSCode Keymaps 的键盘映射并在 Windows 和 Ubuntu 上安装。

      【讨论】:

      • 我喜欢 windows 中 vscode 的默认键绑定,我也需要在 Linux 上相同的键绑定。但不幸的是,我没有遇到任何可以做到这一点的扩展。
      • 所以记住两组键绑定会很痛苦,而且我的习惯是我按错了一些键并且发生了一些连线的事情。
      猜你喜欢
      • 1970-01-01
      • 2017-07-24
      • 2019-02-01
      • 2018-11-24
      • 2023-03-08
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 2022-12-28
      相关资源
      最近更新 更多