Lughino Asked: 2023-10-11 05:49:42 +0800 CST2023-10-11 05:49:42 +0800 CST 2023-10-11 05:49:42 +0800 CST 为什么 VS Code 让我在 macOS 上使用“option + 单击”打开编辑器链接,而不是“cmd + 单击”? 772 我的 VS Code 最近开始将系统快捷方式从命令反转为选项。 正如您在此处所看到的,打开链接的选项现在是 option+click(以前是 cmd+click)。 打开链接的键绑定设置为system 这让我觉得 mac 快捷键(系统)应该已经改变了..但是所有 mac 快捷键仍然使用命令,如以下设置所示: 我很困惑,因为我不知道是什么原因造成的以及如何恢复它。我尝试过使用这个,但这真的很烦人! 我怎样才能恢复这个状态? macos 1 个回答 Voted Best Answer starball 2023-10-11T06:18:59+08:002023-10-11T06:18:59+08:00 用于打开链接的修饰符被定义为不与您选择用于处理多个光标的任何修饰符冲突。当你设置editor.multiCursorModifier为时"alt",你会得到cmd + click点击链接的结果,如果你设置editor.multiCursorModifier为"ctrlCmd",那么你会得到option + click。 多光标修饰符的文档支持这一点: 转到定义和打开链接手势也将尊重此设置并进行调整,以便它们不会发生冲突。 该设置的描述文本editor.multiCursorModifier也说明了这一点。 editor.multiCursorModifier的默认值为"alt",所以我猜您将其更改为"ctrlCmd"。 您也可以与源代码进行交叉检查:相关代码位于src/vs/editor/contrib/links/browser/links.ts中。您看到的字符串常量(“Follow link”和“option + click”)位于函数中getHoverMessage,您可以在其中看到是否选择option或cmd取决于名为 的参数useMetaKey。唯一的调用者getHoverMessage是_getOptions- 类的私有静态函数属性LinkOccurrence。_getOptions用于其公共、静态decoration函数属性和activate实例deactivate函数属性,这些属性都只是传递useMetaKey它们自己的参数。如果您查找该类的用法LinkOccurrence,您将在以下位置看到这些函数:updateDecorations、_onEditorMouseMove和cleanUpActiveLinkDecoration,在其中每一个地方useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');。
用于打开链接的修饰符被定义为不与您选择用于处理多个光标的任何修饰符冲突。当你设置
editor.multiCursorModifier
为时"alt"
,你会得到cmd + click点击链接的结果,如果你设置editor.multiCursorModifier
为"ctrlCmd"
,那么你会得到option + click。多光标修饰符的文档支持这一点:
该设置的描述文本
editor.multiCursorModifier
也说明了这一点。editor.multiCursorModifier
的默认值为"alt"
,所以我猜您将其更改为"ctrlCmd"
。您也可以与源代码进行交叉检查:相关代码位于src/vs/editor/contrib/links/browser/links.ts中。您看到的字符串常量(“Follow link”和“option + click”)位于函数中
getHoverMessage
,您可以在其中看到是否选择option或cmd取决于名为 的参数useMetaKey
。唯一的调用者getHoverMessage
是_getOptions
- 类的私有静态函数属性LinkOccurrence
。_getOptions
用于其公共、静态decoration
函数属性和activate
实例deactivate
函数属性,这些属性都只是传递useMetaKey
它们自己的参数。如果您查找该类的用法LinkOccurrence
,您将在以下位置看到这些函数:updateDecorations
、_onEditorMouseMove
和cleanUpActiveLinkDecoration
,在其中每一个地方useMetaKey = (this.editor.getOption(EditorOption.multiCursorModifier) === 'altKey');
。