基本编辑
Visual Studio Code 首先是一个编辑器,它包含了您高效源代码编辑所需的功能。本主题将带您了解编辑器的基础知识,帮助您开始使用代码。
键盘快捷键
在编写代码时能够保持双手在键盘上对于提高效率至关重要。VS Code 有一套丰富的默认键盘快捷键,并允许您自定义它们。
- 键盘快捷键参考 - 通过下载参考表来了解最常用的和最受欢迎的键盘快捷键。
- 安装 Keymap 扩展 - 通过安装 Keymap 扩展,在 VS Code 中使用您旧编辑器(如 Sublime Text、Atom 和 Vim)的键盘快捷键。
- 自定义键盘快捷键 - 更改默认键盘快捷键以符合您的风格。
多重选择(多光标)
VS Code 支持多光标,以便快速进行同步编辑。您可以使用 Alt+单击 添加辅助光标(以更细的线条呈现)。每个光标根据其所在的上下文独立操作。添加更多光标的常用方法是使用 ⌥⌘↓(Windows Ctrl+Alt+Down,Linux Shift+Alt+Down) 或 ⌥⌘↑(Windows Ctrl+Alt+Up,Linux Shift+Alt+Up),它们会在下方或上方插入光标。
注意:您的显卡驱动程序(例如 NVIDIA)可能会覆盖这些默认快捷键。
⌘D(Windows、Linux Ctrl+D) 选择光标处的单词或当前选择的下一个出现位置。
技巧:您也可以使用 ⇧⌘L(Windows、Linux Ctrl+Shift+L) 添加更多光标,这将在当前选定文本的每个出现位置添加一个选择。
多光标修饰键
如果您想将 macOS 上应用多光标的修饰键更改为 Cmd+单击,以及 Windows 和 Linux 上的 Ctrl+单击,则可以使用 editor.multiCursorModifier 设置。这允许来自 Sublime Text 或 Atom 等其他编辑器的用户继续使用他们熟悉的键盘修饰键。
该设置可以设置为
ctrlCmd
- 映射到 Windows 上的 Ctrl 和 macOS 上的 Cmd。alt
- 现有的默认值 Alt。
还有一个菜单项 选择 > 切换到 Ctrl+单击以进行多光标 或 选择 > 切换到 Alt+单击以进行多光标,可以快速切换此设置。
转到定义 和 打开链接 手势也会尊重此设置,并进行调整,以避免冲突。例如,当设置设置为 ctrlCmd
时,可以使用 Ctrl/Cmd+单击 添加多个光标,而打开链接或转到定义可以使用 Alt+单击。
缩小/扩大选择范围
快速缩小或扩大当前选择范围。使用 ⌃⇧⌘←(Windows、Linux Shift+Alt+Left) 和 ⌃⇧⌘→(Windows、Linux Shift+Alt+Right) 触发它。
以下是使用 ⌃⇧⌘→(Windows、Linux Shift+Alt+Right) 扩大选择范围的示例
列(框)选择
将光标放置在一个角上,然后按住 Shift+Alt 并拖动到对角线。
注意:当使用 Ctrl/Cmd 作为 多光标修饰键 时,这将更改为 Shift+Ctrl/Cmd。
在 macOS 和 Windows 上也有用于列选择的默认键绑定,但在 Linux 上没有。
键 | 命令 | 命令 ID |
---|---|---|
⇧↓(Windows、Linux Shift+Down) | 列选择向下 | cursorColumnSelectDown |
⇧↑(Windows、Linux Shift+Up) | 列选择向上 | cursorColumnSelectUp |
⇧←(Windows、Linux Shift+Left) | 列选择向左 | cursorColumnSelectLeft |
⇧→(Windows、Linux Shift+Right) | 列选择向右 | cursorColumnSelectRight |
⇧PageDown(Windows、Linux Shift+PageDown) | 列选择 Page Down | cursorColumnSelectPageDown |
⇧PageUp(Windows、Linux Shift+PageUp) | 列选择 Page Up | cursorColumnSelectPageUp |
您可以 编辑 您的 keybindings.json
以将它们绑定到您更熟悉的键,如果您愿意的话。
列选择模式
用户设置 编辑器:列选择 控制此功能。一旦进入此模式,状态栏会显示提示,鼠标手势和箭头键将默认创建列选择。此全局切换也可以通过 选择 > 列选择模式 菜单项访问。此外,还可以从状态栏禁用列选择模式。
保存/自动保存
默认情况下,VS Code 要求您采取明确的操作才能将更改保存到磁盘,⌘S(Windows、Linux Ctrl+S)。
但是,很容易打开 自动保存
,这将在配置的延迟之后或焦点离开编辑器时保存您的更改。启用此选项后,无需明确保存文件。启用 自动保存
最简单的方法是使用 文件 > 自动保存 切换,它会在延迟之后打开和关闭保存。
要更详细地控制 自动保存
,请打开用户或工作区 设置 并查找关联的设置
- files.autoSave:可以具有以下值
off
- 禁用自动保存。afterDelay
- 在配置的延迟(默认 1000 毫秒)之后保存文件。onFocusChange
- 当焦点从脏文件的编辑器中移开时保存文件。onWindowChange
- 在焦点移出 VS Code 窗口时保存文件。
- files.autoSaveDelay: 配置 files.autoSave 设置为
afterDelay
时的延迟时间(以毫秒为单位)。默认值为 1000 毫秒。
热退出
默认情况下,VS Code 在您退出时会记住对文件的未保存更改。当应用程序通过 **文件** > **退出**(在 macOS 上为 **代码** > **退出**)关闭或最后一个窗口关闭时,会触发热退出。
您可以通过将 files.hotExit 设置为以下值来配置热退出
"off"
: 禁用热退出。"onExit"
: 当应用程序关闭时,将触发热退出,即当 Windows/Linux 上的最后一个窗口关闭或workbench.action.quit
命令触发(从 **命令面板**、键盘快捷键或菜单触发)时。所有未打开文件夹的窗口将在下次启动时恢复。"onExitAndWindowClose"
: 当应用程序关闭时,将触发热退出,即当 Windows/Linux 上的最后一个窗口关闭或workbench.action.quit
命令触发(从 **命令面板**、键盘快捷键或菜单触发)时,以及对于任何打开文件夹的窗口,无论它是否为最后一个窗口。所有未打开文件夹的窗口将在下次启动时恢复。要将文件夹窗口恢复到关闭前的状态,请将 window.restoreWindows 设置为all
。
如果热退出出现问题,所有备份将存储在以下文件夹中(适用于标准安装位置)
- Windows
%APPDATA%\Code\Backups
- macOS
$HOME/Library/Application Support/Code/Backups
- Linux
$HOME/.config/Code/Backups
查找和替换
VS Code 允许您快速查找并替换当前打开的文件中的文本。按 ⌘F (Windows、Linux Ctrl+F) 在编辑器中打开查找窗口,搜索结果将在编辑器、概述标尺和迷你地图中突出显示。
如果当前打开的文件中有多个匹配结果,您可以按 Enter 和 ⇧Enter (Windows、Linux Shift+Enter) 在查找输入框获得焦点时导航到下一个或上一个结果。
从选择中提取搜索字符串
打开查找窗口时,它会自动将编辑器中的选定文本填充到查找输入框中。如果选择为空,则将光标下的单词插入输入框。
可以通过将 editor.find.seedSearchStringFromSelection 设置为 "never"
来关闭此功能。
在选择中查找
默认情况下,查找操作是在编辑器中的整个文件中执行的。它也可以在选定文本中执行。您可以通过单击查找窗口上的汉堡包图标来打开此功能。
如果您希望它成为查找窗口的默认行为,您可以将 editor.find.autoFindInSelection 设置为 always
,或设置为 multiline
,如果您希望仅在选择多行内容时在选定文本中执行操作。
高级查找和替换选项
除了使用纯文本查找和替换之外,查找窗口还具有三种高级搜索选项
- 区分大小写
- 匹配整个单词
- 正则表达式
替换输入框支持保留大小写,您可以通过单击保留大小写(**AB**)按钮来打开它。
多行支持和查找窗口调整大小
您可以通过将文本粘贴到查找输入框和替换输入框中来搜索多行文本。按 Ctrl+Enter
在输入框中插入新行。
在搜索长文本时,查找窗口的默认大小可能太小。您可以拖动左侧窗格来放大查找窗口,或双击左侧窗格将其最大化或缩小到其默认大小。
跨文件搜索
VS Code 允许您快速搜索当前打开文件夹中的所有文件。按 ⇧⌘F (Windows、Linux Ctrl+Shift+F) 并输入您的搜索词。搜索结果将分组到包含搜索词的文件中,并显示每个文件中的匹配项及其位置。展开一个文件以查看该文件中所有匹配项的预览。然后单机单击其中一个匹配项以在编辑器中查看它。
提示:我们还支持在搜索框中使用正则表达式搜索。
您可以通过单击搜索框右侧的省略号(**切换搜索详细信息**)(或按 ⇧⌘J (Windows、Linux Ctrl+Shift+J))来配置高级搜索选项。这将显示其他字段来配置搜索。
提示:您可以使用快速搜索快速在当前打开文件夹中的所有文件中查找文本。打开命令面板 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 并输入 搜索:快速搜索 命令。
高级搜索选项
在搜索框下面的两个输入框中,您可以输入要包含或排除在搜索中的模式。如果您输入 example
,则将匹配工作区中名为 example
的每个文件夹和文件。如果您输入 ./example
,则将匹配工作区顶层中的 example/
文件夹。使用 ,
分隔多个模式。路径必须使用正斜杠。您还可以使用 glob 模式 语法,例如
*
在路径段中匹配零个或多个字符?
在路径段中匹配一个字符**
匹配任意数量的路径段,包括无路径段{}
对条件进行分组(例如,{**/*.html,**/*.txt}
匹配所有 HTML 和文本文件)[]
声明 要匹配的字符范围(example.[0-9]
匹配example.0
、example.1
等)[!...]
否定要匹配的字符范围(example.[!0-9]
匹配example.a
、example.b
,但不匹配example.0
)
VS Code 默认情况下会排除一些文件夹,以减少您不感兴趣的搜索结果数量(例如:node_modules
)。打开 设置 以在 files.exclude 和 search.exclude 部分更改这些规则。
请注意,搜索视图中的 glob 模式与 files.exclude 和 search.exclude 等设置中的 glob 模式不同。在设置中,您必须使用 **/example
才能匹配工作区中子文件夹 folder1/example
中名为 example
的文件夹。在搜索视图中,**
前缀是假设的。这些设置中的 glob 模式始终相对于工作区文件夹的路径进行评估。
另请注意 **“使用排除设置和忽略文件”** 按钮(位于 **要排除的文件** 框中)。该按钮确定是否排除由您的 .gitignore
文件忽略或由您的 files.exclude 和 search.exclude 设置匹配的文件。
提示:从资源管理器中,您可以右键单击一个文件夹并选择 **在文件夹中查找** 以仅在文件夹内搜索。
查找和替换
您也可以在文件中查找和替换。展开搜索窗口以显示替换文本框。
当您在替换文本框中键入文本时,您将看到待更改的差异显示。您可以从替换文本框中跨所有文件进行替换,在一个文件中替换所有内容或替换单个更改。
提示:您可以使用 ↓ (Windows、Linux Down) 和 ↑ (Windows、Linux Up) 在您的搜索词历史记录中导航,从而快速重用先前的搜索词。
正则表达式替换中的大小写更改
VS Code 支持在编辑器或全局执行查找和替换时更改正则表达式匹配组的大小写。这是通过修饰符 \u\U\l\L
完成的,其中 \u
和 \l
将使单个字符变为大写/小写,而 \U
和 \L
将使匹配组的其余部分变为大写/小写。
示例
修饰符也可以叠加 - 例如,\u\u\u$1
将使组的前三个字符变为大写,或者 \l\U$1
将使第一个字符变为小写,并将其余部分变为大写。捕获组由替换字符串中的 $n
引用,其中 n
是捕获组的顺序。
搜索编辑器
搜索编辑器允许您在完整大小的编辑器中查看工作区搜索结果,包括语法高亮显示和可选的周围文本行。
以下是搜索词“SearchEditor”的搜索结果,其中包含匹配项前后两行文本以供参考
“打开搜索编辑器” 命令会打开现有的搜索编辑器(如果存在),否则会创建一个新的搜索编辑器。“新建搜索编辑器” 命令将始终创建一个新的搜索编辑器。
在搜索编辑器中,可以使用转到定义操作来导航结果,例如F12在当前编辑器组中打开源代码位置,或⌘K F12(Windows、Linux Ctrl+K F12)在旁边的编辑器中打开位置。此外,您可以使用search.searchEditor.singleClickBehaviour和search.searchEditor.doubleClickBehaviour设置来配置单击或双击搜索结果的行为。例如,打开一个预览定义窗口或打开源代码位置。
您也可以使用搜索视图顶部的打开新的搜索编辑器按钮,并将您现有的搜索视图中的结果复制到搜索编辑器中,方法是在结果树的顶部使用在编辑器中打开链接,或使用搜索编辑器:在编辑器中打开结果命令。
上面的搜索编辑器是通过在搜索视图的顶部选择打开新的搜索编辑器按钮(第三个按钮)打开的。
搜索编辑器命令和参数
search.action.openNewEditor
- 在新标签页中打开搜索编辑器。search.action.openInEditor
- 将当前搜索结果复制到新的搜索编辑器中。search.action.openNewEditorToSide
- 在您当前打开的窗口旁边的新窗口中打开搜索编辑器。
您可以向搜索编辑器命令(search.action.openNewEditor
、search.action.openNewEditorToSide
)传递两个参数,以允许键盘绑定配置新的搜索编辑器应如何运行。
triggerSearch
- 当打开搜索编辑器时,是否自动运行搜索。默认值为 true。focusResults
- 将焦点放在搜索结果中还是查询输入中。默认值为 true。
例如,以下键盘绑定在打开搜索编辑器时运行搜索,但将焦点留在搜索查询控件中。
{
"key": "ctrl+o",
"command": "search.action.openNewEditor",
"args": { "query": "VS Code", "triggerSearch": true, "focusResults": false }
}
搜索编辑器上下文默认值
search.searchEditor.defaultNumberOfContextLines
设置的默认值为 1,这意味着在搜索编辑器中的每条结果行之前和之后将显示一条上下文行。
重用上次搜索编辑器配置
search.searchEditor.reusePriorSearchConfiguration
设置(默认值为false
)可以让您在创建新的搜索编辑器时重用上次活动的搜索编辑器的配置。
IntelliSense
我们将始终提供单词完成,但对于诸如 JavaScript、JSON、HTML、CSS、SCSS、Less、C# 和 TypeScript 之类的丰富语言,我们提供真正的 IntelliSense 体验。如果语言服务知道可能的完成,IntelliSense 建议将在您键入时弹出。您始终可以使用⌃Space(Windows、Linux Ctrl+Space)手动触发它。默认情况下,Tab或Enter是接受键盘触发器,但您也可以自定义这些键盘绑定。
提示:建议过滤支持 CamelCase,因此您可以键入方法名称中大写的字母以限制建议。例如,“cra”将快速显示“createApplication”。
提示:可以通过editor.quickSuggestions和editor.suggestOnTriggerCharacters设置来配置 IntelliSense 建议。
JavaScript 和 TypeScript 开发人员可以利用npmjs 类型声明 (typings) 文件库来获取常见 JavaScript 库(Node.js、React、Angular)的 IntelliSense。您可以在JavaScript 语言主题和Node.js教程中找到有关使用类型声明文件的良好解释。
在IntelliSense 文档中了解更多信息。
格式化
VS Code 对源代码格式化提供出色的支持。编辑器有两个明确的格式化操作
- 格式化文档(⇧⌥F(Windows Shift+Alt+F、Linux Ctrl+Shift+I)) - 格式化整个活动文件。
- 格式化选择(⌘K ⌘F(Windows、Linux Ctrl+K Ctrl+F)) - 格式化选定的文本。
您可以从命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P))或编辑器上下文菜单中调用这些操作。
VS Code 对 JavaScript、TypeScript、JSON、HTML 和 CSS 具有默认格式化程序。每种语言都有特定的格式化选项(例如,html.format.indentInnerHtml),您可以在用户或工作区设置中根据自己的喜好进行调整。如果您安装了另一个为同一种语言提供格式化的扩展,您也可以禁用默认语言格式化程序。
"html.format.enable": false
除了手动调用代码格式化之外,您还可以根据用户手势(如键入、保存或粘贴)触发格式化。这些操作默认情况下处于关闭状态,但您可以通过以下设置启用这些行为
注意:并非所有格式化程序都支持在粘贴时进行格式化,因为为了做到这一点,它们必须支持格式化选择或文本范围。
除了默认格式化程序之外,您还可以从 Marketplace 中找到支持其他语言或格式化工具的扩展。有一个“格式化程序”类别,因此您可以轻松地搜索并找到格式化扩展。在扩展视图的搜索框中,键入“formatters”或“category:formatters”以查看 VS Code 中的扩展过滤列表。
折叠
您可以使用行号和行开始之间的间距上的折叠图标来折叠源代码区域。将鼠标悬停在间距上并单击以折叠和展开区域。使用Shift + Click点击折叠图标以折叠或展开该区域及其内部的所有区域。
您也可以使用以下操作
- 折叠(⌥⌘[(Windows、Linux Ctrl+Shift+[))折叠光标处最内层的未折叠区域。
- 展开(⌥⌘](Windows、Linux Ctrl+Shift+]))展开光标处的折叠区域。
- 切换折叠(⌘K ⌘L(Windows、Linux Ctrl+K Ctrl+L))折叠或展开光标处的区域。
- 递归折叠(⌘K ⌘[(Windows、Linux Ctrl+K Ctrl+[))折叠光标处最内层的未折叠区域及其内部的所有区域。
- 递归展开(⌘K ⌘](Windows、Linux Ctrl+K Ctrl+]))展开光标处的区域及其内部的所有区域。
- 折叠所有(⌘K ⌘0(Windows、Linux Ctrl+K Ctrl+0))折叠编辑器中的所有区域。
- 展开所有(⌘K ⌘J(Windows、Linux Ctrl+K Ctrl+J))展开编辑器中的所有区域。
- 折叠级别 X(⌘K ⌘2(Windows、Linux Ctrl+K Ctrl+2) 级别 2)折叠所有级别 X 的区域,除了当前光标位置的区域。
- 折叠所有块注释(⌘K ⌘/(Windows、Linux Ctrl+K Ctrl+/))折叠所有以块注释标记开头的区域。
折叠区域默认情况下是根据行的缩进进行评估的。当一行比一个或多个后续行的缩进更小,并且结束时有一个缩进相同或更小的行时,折叠区域就会开始。
折叠区域也可以根据编辑器配置语言的语法标记进行计算。以下语言已经提供语法感知折叠:Markdown、HTML、CSS、LESS、SCSS 和 JSON。
如果您希望将上述一种(或所有)语言的折叠切换回基于缩进的折叠,请使用
"[html]": {
"editor.foldingStrategy": "indentation"
},
区域也可以通过每种语言定义的标记来定义。以下语言目前已定义了标记
语言 | 开始区域 | 结束区域 |
---|---|---|
Bat | ::#region or REM #region |
::#endregion or REM #endregion |
C# | #region |
#endregion |
C/C++ | #pragma region |
#pragma endregion |
CSS/Less/SCSS | /*#region*/ |
/*#endregion*/ |
Coffeescript | #region |
#endregion |
F# | //#region or (#_region) |
//#endregion or (#_endregion) |
Java | //#region or //<editor-fold> |
//#endregion or //</editor-fold> |
Markdown | <!-- #region --> |
<!-- #endregion --> |
Perl5 | #region or =pod |
#endregion or =cut |
PHP | #region |
#endregion |
PowerShell | #region |
#endregion |
Python | #region or # region |
#endregion or # endregion |
TypeScript/JavaScript | //#region |
//#endregion |
Visual Basic | #Region |
#End Region |
要仅折叠和展开由标记定义的区域,请使用
- 折叠标记区域(⌘K ⌘8(Windows、Linux Ctrl+K Ctrl+8))折叠所有标记区域。
- 展开标记区域 (⌘K ⌘9 (Windows, Linux Ctrl+K Ctrl+9)) 展开所有标记区域。
折叠选择
命令 从选择创建手动折叠范围 (⌘K ⌘, (Windows, Linux Ctrl+K Ctrl+,)) 从当前选定的行创建折叠范围并将其折叠。该范围被称为 手动 折叠范围,它位于折叠提供者计算的范围之上。
手动折叠范围可以使用命令 删除手动折叠范围 (⌘K ⌘. (Windows, Linux Ctrl+K Ctrl+.)) 删除。
手动折叠范围在没有编程语言支持折叠的情况下特别有用。
缩进
VS Code 允许您控制文本缩进以及是否使用空格或制表符。默认情况下,VS Code 插入空格,每个 Tab 键使用 4 个空格。如果您想使用其他默认设置,您可以修改 editor.insertSpaces 和 editor.tabSize 设置。
"editor.insertSpaces": true,
"editor.tabSize": 4,
自动检测
VS Code 分析您的打开文件并确定文档中使用的缩进。自动检测到的缩进会覆盖您的默认缩进设置。检测到的设置将显示在状态栏的右侧
您可以单击状态栏缩进显示以显示一个下拉菜单,其中包含缩进命令,允许您更改打开文件的默认设置或在制表符和空格之间转换。
注意: VS Code 自动检测检查 2、4、6 或 8 个空格的缩进。如果您的文件使用不同数量的空格,则可能无法正确检测到缩进。例如,如果您的约定是使用 3 个空格缩进,您可能希望关闭 editor.detectIndentation 并显式将制表符大小设置为 3。
"editor.detectIndentation": false,
"editor.tabSize": 3,
文件编码支持
使用 files.encoding 设置在 用户设置 或 工作区设置 中全局设置文件编码或按工作区设置文件编码。
您可以在状态栏中查看文件编码。
单击状态栏中的编码按钮以使用不同的编码重新打开或保存活动文件。
然后选择一种编码。
比较文件
VS Code 支持多种方法来比较当前文件或任意两个文件的内容。
当您在编辑器中打开活动文件时,您有以下比较选项
- 与工作区文件比较:在命令面板中,选择 文件:将活动文件与... 比较,然后选择另一个文件进行比较。
- 与剪贴板比较:在命令面板中,选择 文件:将活动文件与剪贴板比较 (⌘K C (Windows, Linux Ctrl+K C)) 将当前文件与剪贴板内容进行比较。
- 与保存的版本比较:在命令面板中,选择 文件:将活动文件与保存的版本比较 (⌘K D (Windows, Linux Ctrl+K D)) 将当前文件与上次保存的版本进行比较。
要比较任意两个文件
- 在资源管理器视图中右键单击文件,然后选择 选择以比较。然后,右键单击第二个文件,然后选择 与所选内容比较。
- 要开始比较两个空的编辑器窗口,请从命令面板中选择 文件:比较新的无标题文本文件。
提示: 您可以使用
--diff
选项从命令行启动 VS Code 来比较两个文件。详细了解 VS Code 命令行界面。
下一步
您已经涵盖了基本的用户界面 - VS Code 还有更多功能。继续阅读以了解有关
- 简介视频 - 设置和基础知识 - 观看有关 VS Code 基础知识的教程。
- 用户/工作区设置 - 了解如何通过用户和工作区设置将 VS Code 配置为您喜欢的设置。
- 代码导航 - 快速浏览和转到定义等等。
- 集成终端 - 了解如何在 VS Code 中快速执行命令行任务的集成终端。
- IntelliSense - VS Code 提供智能代码补全。
- 调试 - 这是 VS Code 真正闪耀的地方。
常见问题
是否可以全局搜索和替换?
是的,展开搜索视图文本框以包含替换文本字段。您可以在工作区的所有文件中进行搜索和替换。请注意,如果您没有在文件夹上打开 VS Code,则搜索仅在当前打开的文件上运行。
如何打开自动换行?
您可以通过 editor.wordWrap 设置 控制自动换行。默认情况下,editor.wordWrap 为 off
,但如果将其设置为 on
,则文本将在编辑器的视窗宽度上换行。
"editor.wordWrap": "on"
您可以使用 ⌥Z (Windows, Linux Alt+Z) 切换 VS Code 会话的自动换行。
您还可以使用 editor.rulers 设置在编辑器中添加垂直列标尺,该设置接受一个包含您希望放置垂直标尺的列字符位置的数组。
与其他编辑器一样,剪切 和 复制 等命令适用于整个换行后的行。三击选择整个换行后的行。按两次 Home 将光标移动到行的最开头。按两次 End 将光标移动到行的最末尾。
如何避免在换行后的行中放置额外的光标?
如果您希望在添加当前选择上方的光标或下方光标时忽略换行,您可以将 { "logicalLine": true }
传递给键绑定的 args
,例如
{
"key": "shift+alt+down",
"command": "editor.action.insertCursorBelow",
"when": "textInputFocus",
"args": { "logicalLine": true },
},
{
"key": "shift+alt+up",
"command": "editor.action.insertCursorAbove",
"when": "textInputFocus",
"args": { "logicalLine": true },
},