Visual Studio Code 编辑器使用和设置说明
Visual Studio Code 编辑器
编辑器是 Visual Studio Code 的重要组成部分,承担了代码编辑的任务,通常会占据 Visual Studio Code 的大部分区域并显示在中间位置。
在 Visual Studio Code 编辑器中使用辅助光标
如果希望在 Visual Studio Code 编辑器的多个位置同时进行某种操作,则需要首先添加辅助光标,这可以通过按住Alt键并在编辑器的其他位置(可在同一行中)点击鼠标左键来完成。
使用键盘快捷方式Ctrl+Alt+Up或Ctrl+Alt+Down,或选择 Visual Studio Code 菜单项选择 | 在上面添加光标或选择 | 在下面添加光标,或在命令面板中执行命令Add Cursor Above
或Add Cursor Below
,可以为当前光标所在行的上一行或下一行添加辅助光标。
在 Visual Studio Code 命令面板中执行命令Add Cursors To Top
或Add Cursors To Bottom
,可以为当前光标所在行的上面或下面的所有行添加辅助光标。
当 Visual Studio Code 编辑器中存在辅助光标时,用户移动光标,选择或编辑文本将针对所有的辅助光标,在一些情况下,这将节省大量的工作时间。
如何取消 Visual Studio Code 编辑器中的辅助光标?
在 Visual Studio Code 编辑器的任意位置点击,或按下Escape键,即可取消编辑器中所有的辅助光标。
如果按住Alt键然后点击某个辅助光标,可取消对应的辅助光标,该操作也可以取消拥有焦点的当前光标,这将使其他辅助光标获得焦点。
如何使 Visual Studio Code 编辑器中的辅助光标获得焦点?
在 Visual Studio Code 命令面板中执行命令Focus Previous Cursor
或Focus Next Cursor
,可以使上一个或下一个辅助光标获得焦点从而成为当前光标,这里的上一个或下一个是按照辅助光标被添加的顺序来计算的。
如何更改 Visual Studio Code 编辑器用于添加辅助光标的修饰符(按键)?
使用 Visual Studio Code 设置项editor.multiCursorModifier
,可以设置用于添加辅助光标的修饰符(按键),默认值为alt
,即 Linux/Windows 中的Alt键或 macOS 中的Option键。如果将该设置项设置为ctrlCmd
,那么将在 Linux/Windows 中采用Ctrl键,在 macOS 中采用Command键。
另外,设置项editor.multiCursorModifier
的值可通过 Visual Studio Code 菜单项选择 | 切换为“Ctrl+单击”进行多光标功能或选择 | 切换为“Alt+单击”进行多光标功能,或通过在命令面板中执行命令Toggle Multi-Cursor Modifier
进行切换。
需要说明的是,如果将设置项editor.multiCursorModifier
更改为ctrlCmd
,那么 Visual Studio Code 的转到定义和打开链接功能将调整为使用Alt+Click,以避免键盘快捷方式之间的冲突。
{
// 使用 Ctrl 或 Command 键来添加辅助光标
"editor.multiCursorModifier": "ctrlCmd",
}
在 Visual Studio Code 编辑器中撤销和恢复光标操作
使用 Visual Studio Code 键盘快捷方式Ctrl+U,或在命令面板中执行命令Cursor Undo
,可以撤销之前的光标操作,比如,移动光标或添加辅助光标。如果你在某个光标操作之后对文本进行了编辑,那么该光标操作将无法被撤销。
在 Visual Studio Code 命令面板中执行命令Cursor Redo
,可以恢复之前撤销的光标操作,比如,移动光标或添加辅助光标。
为 Visual Studio Code 编辑器中的光标设置环绕行
在使用 Visual Studio Code 编辑器编辑文件时,如果你不希望光标距离编辑器底部或顶部(对于顶部似乎无效)太近,则可以为光标设置环绕行。Visual Studio Code 设置项editor.cursorSurroundingLines
是一个数字,表示光标环绕行的数量,设置项editor.cursorSurroundingLinesStyle
用于设置何时启用环绕行,其默认值default
表示仅在用户执行特定操作或 API 被调用时启用环绕行,如果将其设置为all
,则会在更多时间点启用环绕行。
这里需要指出,由于与光标环绕行相关的设置项拥有默认值,因此,即便不进行任何设置,光标也不会过于靠近编辑器底部,当你在 Visual Studio Code 编辑器中编辑文本时。
Visual Studio Code 编辑器中的光标环绕行是什么?
所谓的光标环绕行,是指在 Visual Studio Code 编辑器中,光标之前和之后应该出现的可见的行,他们可以使光标不会过于接近编辑器的底部或顶部。
{
// 设置光标环绕行的数量,并在更多时间点启用环绕行
"editor.cursorSurroundingLines": 20,
"editor.cursorSurroundingLinesStyle": "all",
}
选择 Visual Studio Code 编辑器中文本的基本操作
Visual Studio Code 编辑器支持以下常见的文本选择操作,这些操作通常也适用于其他文本编辑软件,比如 Windows 中的记事本。
按住鼠标左键(光标会移动至鼠标所在位置)然后移动鼠标,或按住Shift键然后在某个位置点击鼠标左键,可以在 Visual Studio Code 编辑器中选择原始光标位置和鼠标位置之间的文本内容,并将光标移动至鼠标所在的位置。
使用键盘快捷方式Shift+LeftArrow或Shift+RightArrow,可以在 Visual Studio Code 编辑器中选择或取消选择光标左边或右边的文本内容,并移动光标。
使用键盘快捷方式Shift+UpArrow或Shift+DownArrow,可以在 Visual Studio Code 编辑器中移动光标至上一行或下一行,并选择原始光标位置和当前光标位置之间的文本内容。
使用键盘快捷方式Shift+Home或Shift+End,可以在 Visual Studio Code 编辑器中选择原始光标位置至当前行首或行尾之间的文本内容,并将光标移动至行首或行尾。
在 Visual Studio Code 编辑器中连续三次点击鼠标左键,可以选择鼠标所在行的所有文本内容,即选择整个行。
使用键盘快捷方式Shift+PageUp或Shift+PageDown,可以在 Visual Studio Code 编辑器中移动光标至上一页或下一页,并选择原始光标位置和当前光标位置之间的文本内容。
使用键盘快捷方式Ctrl+Shift+Home或Ctrl+Shift+End,可以在 Visual Studio Code 编辑器中选择原始光标位置至文件开头或文件结尾之间的文本内容,并将光标移动至文件开头或文件结尾。
使用键盘快捷方式Ctrl+A,或连续四次点击鼠标左键,或选择菜单项选择 | 全选,可以选择 Visual Studio Code 编辑器中的所有文本内容。
如何在 Visual Studio Code 编辑器中扩展或缩小文本选择范围?
使用键盘快捷方式Shift+Alt+Right或Shift+Alt+Left,或选择菜单项选择 | 扩大选区或选择 | 缩小选区,或在命令面板中执行命令Expand Selection
或Shrink Selection
,可以在 Visual Studio Code 编辑器中扩展或缩小文本选择范围,扩展或缩小会依据缩进级别进行,这对于代码文件非常有效。
使用键盘快捷方式Ctrl+L,或在命令面板中执行命令Expand Line Selection
,可以在 Visual Studio Code 编辑器中选择光标所在的行,或以行为单位向下扩展选择范围。
选择 Visual Studio Code 编辑器中的单词
使用键盘快捷方式Ctrl+Shift+LeftArrow或Ctrl+Shift+RightArrow,可以在 Visual Studio Code 编辑器中选择或取消选择光标左边或右边的单词或单词边界,并移动光标。
在 Visual Studio Code 编辑器中双击鼠标左键会选择鼠标所在位置的单词或单词边界,并将光标移动至选中内容的末尾。
使用键盘快捷方式Ctrl+D,或选择菜单项选择 | 添加下一个匹配项,或在命令面板中执行命令Add Selection To Next Find Match
,可以在 Visual Studio Code 编辑器中选择光标所在位置的单词并将光标移动至单词的末尾,如果光标位置存在单词的话。再次执行上述操作,将选择出现在下一个位置的该单词,并添加辅助光标至单词的末尾。
选择 Visual Studio Code 菜单项选择 | 添加上一个匹配项或在命令面板中执行命令Add Selection To Previous Find Match
,可以产生与上述操作类似的效果,只不过会选择出现在上一个位置的单词,而不是下一个。
使用键盘快捷方式Ctrl+Shift+L或Ctrl+F2,或选择菜单项选择 | 选择所有匹配项,或选择编辑器的上下文菜单项更改所有匹配项,或在命令面板中执行命令Select All Occurrences of Find Match
,可以在 Visual Studio Code 编辑器中选择光标所在位置的单词,以及出现在编辑器其他位置的该单词,并将光标移动至单词的末尾(如果光标位置存在单词的话),这会导致辅助光标被自动添加。如果在执行以上操作时,Visual Studio Code 编辑器中存在选中的文本,则将选择编辑器中所有重复出现的该文本。
Visual Studio Code 编辑器不会对某些文本进行单词划分
Visual Studio Code 编辑器不会对所有语言的文本进行单词划分,比如汉字,一段汉字文本可能被当作一个“单词”被选中。
选择 Visual Studio Code 编辑器中的括号
在 Visual Studio Code 命令面板中执行命令Select to Bracket
,可以选择靠近光标的括号以及括号中的文本内容,这些括号包括()
,[]
和{}
(不包括汉字的括号)。
对 Visual Studio Code 编辑器中的文本进行多选操作
在添加辅助光标之后,你可以在 Visual Studio Code 编辑器中对文本进行多选操作,这包括本节其他段落所提到的一些键盘快捷方式。
对 Visual Studio Code 编辑器中的文本进行列选择操作
一般情况下,在 Visual Studio Code 编辑器中选择多行文本时(超过两行),中间的行会被整行选择。如果按住Shift+Alt(如果设置项editor.multiCursorModifier
为ctrlCmd
,那么需要按住Shift+Ctrl或Shift+Command)然后移动鼠标或在某个位置点击鼠标左键,可以对原始光标位置和鼠标位置之间的文本内容进行列选择(中间的行不会被整行选择),这会尽量保证整个选择区域为矩形。
由于并非选择整行,在 Visual Studio Code 编辑器中对文本进行列选择,会导致辅助光标被自动添加。事实上,这相当于先添加辅助光标,然后进行文本的多选。
如何简化 Visual Studio Code 编辑器的列选择?
如果需要进行大量的列选择操作,那么可通过 Visual Studio Code 菜单项选择 | 列选择模式,或在命令面板中执行命令Toggle Column Selection Mode
来启用或禁用列选择模式,在该模式下,不需要按住Shift+Alt即可对编辑器中的文本进行列选择。
除了上述方式,修改 Visual Studio Code 设置项editor.columnSelection
可以实现相同的效果(点击菜单项选择 | 列选择模式等同于修改设置项editor.columnSelection
),该设置项表示是否启用列选择模式,默认值为false
(不启用)。
{
// 启用列选择模式
"editor.columnSelection": true,
}
Visual Studio Code 编辑器的复制操作
在 Visual Studio Code 编辑器中,使用键盘快捷方式Ctrl+C,或选择菜单项编辑 | 复制,或选择编辑器的上下文菜单项复制,可以复制编辑器中选中的文本内容,如果没有任何文本被选中,那么将复制光标所在的整个行。
使用键盘快捷方式Shift+Alt+UpArrow或Shift+Alt+DownArrow,或选择菜单项选择 | 向上复制一行或选择 | 向下复制一行,或在命令面板中执行命令Copy Line Up
或Copy Line Down
,可以在 Visual Studio Code 编辑器中复制光标所在的行,并在该行的上方或下方添加新行,新的行将被粘贴原有行的内容。
选择菜单项选择 | 重复选择,或在命令面板中执行命令Duplicate Selection
,可以在 Visual Studio Code 编辑器中复制选中的文本内容,并粘贴至选中的文本内容之后。
Visual Studio Code 编辑器的剪切操作
在 Visual Studio Code 编辑器中,使用键盘快捷方式Ctrl+X,或选择菜单项编辑 | 剪切,或选择编辑器的上下文菜单项剪切,可以剪切编辑器中选中的文本内容,如果没有任何文本被选中,那么将剪切光标所在的整个行。
Visual Studio Code 编辑器的粘贴操作
在 Visual Studio Code 编辑器中,使用键盘快捷方式Ctrl+V,或选择菜单项编辑 | 粘贴,或选择编辑器的上下文菜单项粘贴,或在命令面板中执行命令Paste as Text
,可以将复制或剪切的内容粘贴至编辑器中,如果编辑器中有被选中的文本,那么这些被选中的文本将被替换。
在 Visual Studio Code 命令面板中执行命令Paste As…
,可以将复制或剪切的内容粘贴为其他特殊的内容,比如,粘贴为纯文本,HTML,路径等。
Visual Studio Code 编辑器的删除操作
在 Visual Studio Code 编辑器中,按下Delete或Backspace键,可以删除光标右边或左边的文本内容。如果是按下Backspace键,那么光标将尝试向左移动。
使用键盘快捷方式Ctrl+Delete或Ctrl+Backspace,可以在 Visual Studio Code 编辑器中删除光标右边或左边的单词或单词边界。
在 Visual Studio Code 命令面板中执行命令Delete Word
,可以删除光标附近(可能是左边或右边)的单词或单词边界。
使用键盘快捷方式Shift+Delete,或在命令面板中执行命令Delete Line
,可以在 Visual Studio Code 编辑器中删除光标所在的行。
在 Visual Studio Code 命令面板中执行命令Delete All Left
或Delete All Right
,可以删除光标位置至行首或行尾之间的文本内容。
在 Visual Studio Code 命令面板中执行命令Delete Duplicate Lines
,可以删除编辑器中重复的行,但会保留其中的一个。
Visual Studio Code 编辑器的查找和替换操作
使用键盘快捷方式Ctrl+F,或选择菜单项编辑 | 查找,或在命令面板中执行命令Find
,可以在 Visual Studio Code 编辑器中打开查找小部件。如果 Visual Studio Code 编辑器中存在已经选中的文本,那么这些文本将作为被查找的内容,否则会尝试将光标所在位置的单词作为被查找的内容,如果单词不存在,那么会保留上一次的查找内容。
使用键盘快捷方式Ctrl+H,或选择菜单项编辑 | 替换,或在命令面板中执行命令Replace
,可以在 Visual Studio Code 编辑器中打开查找小部件并进入替换模式。如果 Visual Studio Code 编辑器中存在已经选中的文本,那么这些文本将作为被查找的内容,否则会保留上一次的查找内容。
除了通过查找小部件进行查找和替换的相关操作,Visual Studio Code 编辑器还提供了一些键盘快捷方式(一般需要编辑器处于活动状态)和命令面板命令来实现相同的效果。
键盘快捷方式Alt+R可用于设置是否采用正则表达式进行查找。键盘快捷方式Alt+W可用于设置是否采用全字匹配。键盘快捷方式Alt+C可用于设置是否区分大小写。键盘快捷方式Alt+P可用于设置是否在替换过程中保留大小写。
键盘快捷方式Enter(需要查找小部件的查找文本框处于活动状态)和命令Find Next
可用于查找下一个符合条件的文本。键盘快捷方式Shift+Enter(需要查找小部件的查找文本框处于活动状态)和命令Find Previous
可用于查找上一个符合条件的文本。
键盘快捷方式Enter(需要查找小部件的替换文本框处于活动状态)可用于替换下一个符合条件的文本。键盘快捷方式Ctrl+Alt+Enter可用于替换所有符合条件的文本。
键盘快捷方式Escape可用于隐藏查找小部件。
设置 Visual Studio Code 编辑器对应的文件的编码
Visual Studio Code 设置项files.encoding
是一个用于设置默认文件编码的字符串(默认值为utf8
),如果没有启用自动推断文件编码或无法推断文件的编码,那么 Visual Studio Code 编辑器将尝试采用默认编码新建,打开(读取)或保存(写入)文件,在大部分情况下,修改设置项files.encoding
是没有必要的,保持其默认值即可。Visual Studio Code 设置项files.autoGuessEncoding
可用于设置是否在编辑器打开文件时自动推断文件的编码(默认值为false
,不进行自动推断)。
点击 Visual Studio Code 状态栏的右边区域的文件编码信息,或在命令面板中执行命令Change File Encoding
,可更改当前编辑器对应的文件的编码,Visual Studio Code 会为用户提供Reopen with Encoding
和Save with Encoding
两个选项。其中Reopen with Encoding
会采用指定的编码重新开打编辑器对应的文件,但不会真正的修改文件的编码,除非对文件进行保存,Save with Encoding
会采用指定的编码保存编辑器对应的文件。
{
// 指定默认的编码为 utf16be
"files.encoding": "utf16be",
// 在打开文件时推断编码
"files.autoGuessEncoding": true,
}
设置 Visual Studio Code 编辑器的自动保存功能
在默认情况下,Visual Studio Code 编辑器并不会自动保存已更改的文件,你需要修改设置项files.autoSave
来实现文件的自动保存,该设置项拥有以下有效取值。
- off
off
是默认值,表示 Visual Studio Code 编辑器不会自动保存文件。- afterDelay
afterDelay
表示当 Visual Studio Code 编辑器对应的文件被更改并经过一定的延迟之后,将自动保存已更改的文件,延迟的时间由设置项files.autoSaveDelay
来决定(以毫秒为单位,默认值为1000
)。- onFocusChange
onFocusChange
表示当 Visual Studio Code 编辑器失去焦点时,将自动保存其对应的已更改文件。- onWindowChange
onWindowChange
表示当 Visual Studio Code 窗口失去焦点时,将自动保存已更改的文件。
此外,在 Visual Studio Code 命令面板中执行命令File: Toggle Auto Save
,可以让设置项files.autoSave
保持默认值,或被设置为afterDelay
。
不对 Visual Studio Code 编辑器对应的特定文件执行自动保存
Visual Studio Code 设置项files.autoSaveWhenNoErrors
(默认值为false
)可用于设置是否不对存在错误的文件执行自动保存,如果将该设置项设置为true
并且编辑器对应的文件存在错误(不包括警告),那么文件不会被自动保存。
Visual Studio Code 设置项files.autoSaveWorkspaceFilesOnly
(默认值为false
)可用于设置是否不对非工作区的文件执行自动保存,如果将该设置项设置为true
,那么非工作区的文件不会被自动保存。
{
// 更改的文件在 3 秒后被自动保存
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 3000,
// 存在错误的文件不会被自动保存
"files.autoSaveWhenNoErrors": true,
// 非工作区的文件不会被自动保存
"files.autoSaveWorkspaceFilesOnly": true,
}