【发布时间】:2018-08-29 16:02:03
【问题描述】:
如何让ctrl + click 在 mac OS 的 Visual Studio 代码编辑器中进行定义?现在是 F12,它正在使用我的 mac 显示桌面。
【问题讨论】:
标签: visual-studio-code vscode-settings
如何让ctrl + click 在 mac OS 的 Visual Studio 代码编辑器中进行定义?现在是 F12,它正在使用我的 mac 显示桌面。
【问题讨论】:
标签: visual-studio-code vscode-settings
首先,请注意,在 macOS 的 VS Code 中,Windows / Linux 操作系统中熟悉的 Ctrl + click 已替换为 ⌘ + 单击(即:“命令 + 单击”)。在继续之前先尝试一下,因为该快捷方式应该在没有任何特殊修改的情况下开箱即用。
但是,如果上述方法仍然对您不起作用,请尝试通过编辑您的 settings.json 文件来解决问题。为此,请按 F1,键入 settings json,然后单击 Open Settings (JSON),然后执行以下操作之一:
要使用 ⌘ + click 作为“转到定义”快捷方式,请确保 JSON 设置中存在以下行:
"editor.multiCursorModifier": "alt",
这样做的目的是将 VS Code 的“添加另一个光标”快捷方式显式设置为 option + 单击(自己尝试一下!),从而释放 ⌘ + click 用于“转到定义”操作。
相反,要使用 option + click 作为“转到定义”快捷方式,请添加:
"editor.multiCursorModifier": "ctrlCmd",
注意:上面的行实际上会将“添加另一个光标”快捷方式设置为 ⌘ + 单击(不是 Ctrl kbd> + ⌘ + click,如 JSON 值所示)。
【讨论】:
设置 > 用户 > multiCursorModifier 必须设置为 alt(默认),这样 ctrl/cmd 才能进行定义。
文档:
用于用鼠标添加多个光标的修饰符。 Go To Definition 和 Open Link 鼠标手势将进行调整,使其不与多光标修饰符冲突。
【讨论】:
在齿轮图标/键盘快捷键中,搜索 f12 。
右键单击“转到定义”条目并选择“删除键绑定”。
请注意,这将在您的 keybindings.json 末尾添加一个新条目,例如:
{
"key": "f12",
"command": "-editor.action.goToDeclaration",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
}
注意命令前的“-”符号,它删除了该键绑定。 现在将整个条目复制并粘贴到它下面(在上一个条目的末尾加上逗号):
{
"key": "f12",
"command": "-editor.action.goToDeclaration",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
},
{
"key": "cmd+enter",
"command": "editor.action.goToDeclaration",
"when": "editorHasDefinitionProvider && editorTextFocus && !isInEmbeddedEditor"
}
删除减号并分配您喜欢的任何键绑定。或者,返回快捷方式文件,搜索“转到定义”并单击铅笔图标以使用其界面创建新的键绑定。
请注意,Ctrl-Enter 在许多情况下都使用,因此使用这种通用键绑定可能会发生意外冲突。
【讨论】:
对于较新版本的 VSCode(版本:1.43.1),您应该利用 IntelliSense 的潜力。
IntelliSense 是各种代码编辑功能的总称,包括:代码完成、参数信息、快速信息和成员列表。 IntelliSense 功能有时被称为“代码完成”、“内容辅助”和“代码提示”等其他名称。
参考官方文档 here 上的建议,我建议为您选择的语言安装 IntelliSense 扩展,您将获得“转到定义”功能,在 settings.json 中做一些小改动如果需要,请归档。
我将它用于 Ruby(专门用于 Ruby on Rails 项目)。我从官方 VSCode Marketplace 安装了 this 扩展,并将以下行添加到 settings.json 文件中。
"ruby.intellisense": "rubyLocate"
请参考 VSCode GitHub 项目上的this issue。
【讨论】:
转到.flowconfig文件并更改所需的版本(它是底部)
【讨论】: