Visual Studio Code键盘快捷键选项列表

20

Visual Studio Code在其关键绑定中非常可自定义,特别是当涉及到上下文绑定(使用"when"在不同上下文中将相同的快捷方式绑定到不同的命令)时。

我正在寻找一个变量列表,可以在这些"when"条件中使用。(有一个很好的命令列表,但未列出条件)。我看到条件是必须评估为布尔值的JavaScript表达式,但不清楚有哪些变量在作用域中。

能否提供这样的列表?


3
现在已经记录在文件中了。请查看 https://code.visualstudio.com/docs/getstarted/keybindings#_advanced-customization,进行高级自定义设置。 - Nicolas Goy
@NicolasGoy - 您的评论应该被接受为答案,谢谢! - Jay Wick
3个回答

28

以下这些变量可以在when条件中使用:

editorFocus
editorHasMultipleSelections
editorHasSelection
editorLangId == 'name' // for example: editorLangId == 'typescript' 
editorTabMovesFocus
editorTextFocus
findWidgetVisible
globalMessageVisible
hasWordHighlights
inChangeAllMode
inDebugMode
inQuickOpen
inReferenceSearchEditor
inSnippetMode
markersNavigationVisible
parameterHintsVisible
peekDeclarationVisible
quickFixWidgetVisible
referenceSearchVisible
renameInputVisible
searchViewletVisible
suggestWidgetVisible
textCompareEditorVisible

你可以用&&将它们连接起来,也可以用!对其进行反转。例如:

editorTextFocus && !editorTabMovesFocus 

1
谢谢 @Wosi!你能告诉我这个列表是从哪里获取的吗?(从VSCode源代码中获得的见解?我错过了一些链接吗?还是通过“逆向工程”默认键盘快捷方式获得的?) - Dominik Schreiber
3
在 Visual Studio Code 0.9.1 中,前往“文件”→“首选项”→“键盘快捷方式”。您将看到的文件包含了所有已定义的快捷键。我乐观地认为那些“when”条件覆盖了所有可用变量。 - Wosi
似乎表达式中不支持括号。 - Alex Che
EditorLangId听起来很不错,可以将ctrl-shift-I(通常用于格式化)直接指向不同的HTML、SASS等格式化工具。 - Frank N
被踩了 - 这个列表非常过时。马克的回答 指向文档,因此是自动更新的,应该(在我看来)被接受。 - panepeter

17

更新于2019年4月(版本1.34)

以下是在版本1.34中可用于when条件中的所有变量列表:

acceptSuggestionOnEnter
accessibilityHelpWidgetVisible
activeEditor
activeEditorGroupEmpty
atEndOfWord
breadcrumbsActive
breadcrumbsPossible
breadcrumbsVisible
breakpointSelected
breakpointWidgetVisible
breakpointsFocused
callHierarchyVisible
commentEditorFocused
config.breadcrumbs.enabled
config.editor.stablePeek
config.editor.tabCompletion
config.emmet.triggerExpansionOnTab
config.gitlens.keymap
debugConfigurationType
debugState
debugType
dirtyDiffVisible
editorFocus
editorHasCallHierarchyProvider
editorHasCodeActionsProvider
editorHasCompletionItemProvider
editorHasDefinitionProvider
editorHasDocumentFormattingProvider
editorHasDocumentSelectionFormattingProvider
editorHasImplementationProvider
editorHasMultipleSelections
editorHasReferenceProvider
editorHasRenameProvider
editorHasSelection
editorHasSignatureHelpProvider
editorIsOpen
editorLangId
editorReadonly
editorTabMovesFocus
editorTextFocus
explorerResourceCut
explorerResourceIsFolder
explorerResourceIsRoot
explorerResourceMoveableToTrash
explorerResourceReadonly
explorerViewletFocus
explorerViewletVisible
expressionSelected
fileMatchFocus
fileMatchOrFolderMatchFocus
fileMatchOrMatchFocus
filesExplorerFocus
findInputFocussed
findWidgetVisible
firstMatchFocus
folderMatchFocus
gitlens:activeFileStatus
gitlens:canToggleCodeLens
gitlens:enabled
gitlens:key:,
gitlens:key:.
gitlens:key:escape
gitlens:key:left
gitlens:key:right
hasNextTabstop
hasOtherSuggestions
hasPrevTabstop
hasSearchResult
hasSnippetCompletions
hasWordHighlights
historyNavigationEnabled
historyNavigationWidget
inBreakpointWidget
inDebugMode
inDebugRepl
inEditorsPicker
inFilesPicker
inKeybindings
inKeybindingsSearch
inQuickOpen
inRecentFilesPicker
inReferenceSearchEditor
inSettingsEditor
inSettingsSearch
inSnippetMode
inViewsPicker
inZenMode
inputBoxFocus
inputFocus
interactivePlaygroundFocus
interfaceOverviewVisible
isDevelopment
isInDiffEditor
isInEmbeddedEditor
keybindingFocus
listFocus
listHasSelectionOrFocus
listSupportsMultiselect
markersNavigationVisible
matchFocus
messageVisible
multipleEditorGroups
notificationCenterVisible
notificationFocus
notificationToastsVisible
parameterHintsMultipleSignatures
parameterHintsVisible
problemFocus
problemsFilterFocus
problemsViewFocus
python.datascience.featureenabled
python.datascience.hascodecells
python.datascience.ownsSelection
reference-list.hasResult
referenceSearchTreeFocused
referenceSearchVisible
remoteFileDialogVisible
renameInputVisible
replaceActive
replaceInputBoxFocus
replaceInputFocussed
scmRepository
searchInputBoxFocus
searchViewletFocus
searchViewletVisible
settingsTocRowFocus
suggestWidgetMultipleSuggestions
suggestWidgetVisible
suggestionMakesTextEdit
supportedCodeAction
terminalFindWidgetFocused
terminalFindWidgetVisible
terminalFocus
terminalTextSelected
textCompareEditorVisible
textInputFocus
variablesFocused
watchExpressionsFocused
webviewFindWidgetVisible
workbench.explorer.openEditorsView.active

一个链接会很好,因为列表无疑会在未来发生变化。或者你是手动从快捷方式创建这个列表的吗? - Mark

5
"

when clause文档已移至when clause contexts

但它本质上与以前可用的信息相同,不幸的是没有提供可用上下文的列表。

您最好使用Developer: Inspect Context Keys命令。有关该命令的更多信息,请参见https://stackoverflow.com/a/65584576/836330

"
当上下文为v1.54时,when上的智能感知功能已经推出,详见上下文键的智能感知。虽然现在我必须使用Ctrl+Space来触发它,但只是输入一些字母似乎无法弹出智能提示:

context key intellisense


1
你链接的文档现在在“可用上下文”部分中列出了一个看起来非常广泛的 when 子句上下文列表。 - Jo Liss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接