本站点文档内容均翻译自code.visualstudio.com,仅供个人学习,如有差异请以官网为准。

基本编辑

Visual Studio Code 首先是一个编辑器,包含你进行高效源代码编辑所需的功能。本主题将带你了解编辑器的基础知识,并帮助你开始编写代码。

键盘快捷键

在编写代码时能够保持双手放在键盘上对于高生产力至关重要。VS Code 提供了一套丰富的默认键盘快捷键,并允许您自定义它们。

多重选择(多光标)

VS Code 支持多个光标以快速同时编辑。您可以通过 Alt+Click 添加辅助光标(显示得更细)。每个光标根据其所在的上下文独立操作。添加更多光标的一种常见方法是使用 ⌥⌘↓(Windows Ctrl+Alt+Down,Linux Shift+Alt+Down⌥⌘↑(Windows Ctrl+Alt+Up,Linux Shift+Alt+Up 以在下面或上面插入光标。

注意

您的显卡驱动程序(例如 NVIDIA)可能会覆盖这些默认快捷键。

多光标

⌘D (Windows, Linux Ctrl+D) 选择光标处的单词,或当前选择的下一个出现位置。

小贴士

在使用多光标查找时,你可以通过运行 ⌘K ⌘D(Windows, LinuxCtrl+K Ctrl+D来跳过下一个匹配的出现。这有助于你在编辑重复文本时避免添加不需要的选择。

多光标-下个词

小贴士

你也可以通过⇧⌘L(Windows, Linux Ctrl+Shift+L添加更多的光标,这将在当前选定文本的每个出现位置添加一个选择。

多重光标修饰符

如果您想更改在 macOS 上的 Cmd+ClickWindows 和 Linux 上的 Ctrl+Click 选择多个光标时的修饰键,您可以使用

编辑器.多光标修饰键
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。这使得来自其他编辑器(如 Sublime Text 或 Atom)的用户可以继续使用他们熟悉的键盘修饰符。

设置可以设置为:

  • 控制命令 - 地图到 Ctrl 在 Windows 和 Cmd 在 macOS。
  • 输入:alt - 现有的默认 Alt.

还有菜单项 选择 > 切换到Ctrl+点击以启用多光标选择 > 切换到Alt+点击以启用多光标 可以快速切换此设置。

转到定义打开链接手势也将遵守此设置,并进行调整以避免冲突。例如,当设置为控制命令,可以使用Ctrl/Cmd+点击添加多个光标,并且可以使用Alt+点击打开链接或跳转到定义。

缩小/扩展选择

快速缩小或放大当前选择。通过 ⌃⇧⌘← (Windows, Linux Shift+Alt+Left)⌃⇧⌘→ (Windows, Linux Shift+Alt+Right) 触发。

这是一个使用⌃⇧⌘→(Windows, Linux Shift+Alt+Right扩展选择的例子:

扩展选择

列(框)选择

将光标移动到一个角落,然后按住Shift+Alt,拖动到对角角落:

列文本选择

注意

当使用Shift+Ctrl/Cmd时,Ctrl/Cmd会变成多光标修饰键

在 macOS 和 Windows 上,也有默认的列选择键盘快捷键,但在 Linux 上没有。

命令 命令 ID
⇧↓ (Windows, Linux Shift+Down) 列选择下 光标列选择向下
⇧↑ (Windows, Linux Shift+上) 列选择向上 光标列选择向上
⇧← (Windows, Linux Shift+左) 列选择 左 光标列选择左
⇧→ (Windows, Linux Shift+Right) 列选择 右 光标列选择右
⇧向下翻页 (Windows, Linux 按住Shift + 向下翻页) 列选择 下一页 光标列选择下一页
⇧PageUp (Windows, Linux Shift+PageUp) 列选择 上一页 光标列选择上一页

你可以编辑你的keybindings.json将它们与更熟悉的事物绑定在一起,如果你愿意的话。

列选择模式

用户设置编辑器:列选择控制此功能。一旦进入此模式,如状态栏所示,鼠标手势和箭头键将默认创建列选择。此全局切换选项也可通过选择 > 列选择模式 菜单项访问。此外,还可以从状态栏禁用列选择模式。

保存 / 自动保存

默认情况下,VS Code 要求明确采取行动将您的更改保存到磁盘,⌘S(Windows, Linux Ctrl+S

然而,很容易开启自动保存这将延迟保存你的更改,或在焦点离开编辑器时保存。有了这个选项开启,就不需要明确保存文件。开启最简单的方法是自动保存文件 > 自动保存 开关,用于在延迟后打开和关闭保存功能。

为了对...有更多控制自动保存,打开用户或工作区设置并找到相关设置:

  • 文件.自动保存
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    : 可以有以下值:
    • - 禁用自动保存。
    • 延时后- 在配置的延迟后保存文件(默认 1000 毫秒)。
    • 焦点更改时- 当焦点从脏文件的编辑器中移出时保存文件。
    • onWindowChange- 当焦点从 VS Code Windows中移出时保存文件。
  • 文件.自动保存延迟
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    : 配置毫秒级的延迟
    文件.自动保存
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    配置为延时后默认值是1000毫秒。

如果你想要定制自动保存要为特定语言或文件类型启用功能,您可以在settings.json通过添加特定于语言的规则来处理文件。

例如,要禁用自动保存对于LaTeX文件:

    "[latex]": {
        "files.autoSave": "off",
    },

热退出

默认情况下,VS Code 会在你退出时记住文件的未保存更改。热退出会在通过文件 > 退出Code > 退出在 macOS 上)或当最后一个Windows关闭时触发。

您可以通过设置来配置热退出

文件.热退出
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为以下值:

  • "关"禁用热退出。
  • "onExit"热退出将在应用程序关闭时触发,即在Windows/Linux上关闭最后一个Windows时或在其他操作系统上关闭时。工作台.操作.退出 命令被触发(来自命令面板、键盘快捷键或菜单)。所有没有打开文件夹的Windows将在下次启动时恢复。
  • "onExitAndWindowClose"热退出将在应用程序关闭时触发,即在Windows/Linux上关闭最后一个Windows时或在其他操作系统上关闭时。工作台.操作.退出 命令被触发(来自命令面板、键盘快捷键或菜单),并且对于任何打开文件夹的Windows,无论它是否是最后一个Windows。所有没有打开文件夹的Windows将在下次启动时恢复。要将文件夹Windows恢复到关闭前的状态,请设置
    Windows.恢复Windows
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    全部输入:.

如果热退出出现故障,所有备份将存储在以下文件夹中,具体位置取决于标准安装位置:

  • Windows %APPDATA%\Code\Backups
  • macOS $HOME/Library/应用支持/Code/备份
  • Linux $HOME/.config/Code/Backups

查找和替换

VS Code 允许您快速在当前打开的文件中查找和替换文本。按⌘F(Windows, LinuxCtrl+F在编辑器中打开查找控制并输入搜索字符串。搜索结果将在编辑器、概览标尺和小地图中突出显示。

VS Code 会在你输入时立即开始搜索。要只在你按 回车键 时才开始搜索,请清除

编辑器.查找.按类型查找
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

如果当前文件中有多个匹配项,按回车键以跳转到下一个结果,或在查找输入框获得焦点时按⇧回车键(Windows, LinuxShift+回车以跳转到上一个结果。

默认情况下,VS Code 会保存工作区的查找和替换查询历史记录,并在重启时恢复。您可以使用以下配置来更改此行为

编辑器.查找.历史记录
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
编辑器.查找.替换历史记录
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。将值设置为从不禁用历史记录保存。

从选择中获取种子搜索字符串

当打开查找控件时,它会自动将编辑器中选定的文本填充到查找输入框中。如果选择为空,则会将光标下的单词插入到输入框中。

从选择中获取种子搜索字符串

此功能可以通过设置关闭

编辑器.查找.从选择中获取种子搜索字符串
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
"从不"输入:.

在选择中查找

默认情况下,查找操作在编辑器中的整个文件上运行。要将搜索限制在文本选择,请选择在选择中查找图标或按⌥⌘L(Windows, Linux Alt+L

在选择中查找

如果你希望这是“查找”控件的默认行为,你可以设置

editor.find.autoFindInSelection
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
总是,或至多行,如果仅当选择多行内容时,您希望它只在选定的文本上运行。

高级查找和替换选项

对于更高级的场景,Find和Replace控件具有以下选项:

  • 查找控制:

    • 匹配案例
    • 匹配整个单词
    • 正则表达式
  • 替换控制:

    • 保持大小写

高级查找和替换选项

多行支持和查找控制调整大小

您可以通过将文本粘贴到“查找”输入框和“替换”输入框中来搜索多行文本。按Ctrl+Enter在输入框中插入新行。

多行支持

在搜索长文本时,查找控件的默认大小可能太小。您可以拖动左边框以放大查找控件,或双击左边框以最大化或缩小它到默认大小。

调整大小 查找控制

在文件中搜索

VS Code 允许您快速搜索当前打开文件夹中的所有文件。按⇧⌘F(Windows, LinuxCtrl+Shift+F并输入您的搜索词。搜索结果按包含搜索词的文件分组,并标示出每个文件中的匹配次数及其位置。展开一个文件可以看到该文件中所有匹配的预览。然后单击一个匹配项在编辑器中查看。

在文件之间进行简单的文本搜索

小贴士

VS Code 也支持在搜索框中使用正则表达式搜索。

您可以通过点击右侧面板搜索框下方的省略号 (切换搜索详细信息) 来配置高级搜索选项(或按⇧⌘J(Windows, Linux Ctrl+Shift+J)。这将显示额外的字段以配置搜索。

小贴士

您可以使用快速搜索功能,快速查找当前打开文件夹中所有文件中的文本。打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)) 并输入 搜索: 快速搜索 命令。

高级搜索选项

高级搜索选项

在搜索框下面的两个输入框中,您可以输入要包含或排除的模式。如果您输入示例, 这将匹配所有名为示例在工作区。如果你输入./示例,这将匹配文件夹示例/在你的工作区顶级。使用输入: 用于分隔多个模式。路径必须使用正斜杠。您还可以使用 glob 模式 语法,例如:

  • 输入:*匹配路径段中零个或多个字符
  • 匹配路径段中的一个字符
  • **匹配任意数量的路径段,包括零个
  • 输入:{}分组条件(例如{**/*.html,**/*.txt}匹配所有HTML和文本文件
  • []声明 一系列字符来匹配 (示例.[0-9]匹配于示例.0示例.1,…)
  • [!...]将一系列字符取反以匹配示例.[!0-9]匹配于示例.a示例.b,但不是示例.0)

关于大小写敏感性的说明: Glob 模式遵循您操作系统文件系统的规定。在 Windows 和 macOS 上,模式是不区分大小写的(例如,*.CS匹配文件.cs) 在 Linux 上,模式区分大小写。这与搜索文本 区分大小写 开关控制是否搜索文本本身区分大小写。了解更多关于 glob 模式的信息。

VS Code默认排除一些文件夹以减少您不感兴趣的结果数量(例如:节点模块) 打开 设置 以更改这些规则

files.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
搜索.排除
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
部分。

请注意,搜索视图中的 glob 模式与设置(如 )中的 glob 模式工作方式不同。

files.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
搜索.排除
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
在设置中,你必须使用**/示例匹配一个名为的文件夹示例在子文件夹中文件夹1/示例在你的工作区中。在搜索视图中,**前缀被假定。这些设置中的通配符模式始终相对于工作区文件夹路径进行评估。

另外请注意使用排除设置和忽略文件切换按钮排除的文件框中。切换按钮决定是否排除被您的.gitignore文件和/或匹配您的

files.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
搜索.排除
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

注意

模式在.gitignore 在 Windows 和 macOS 上,文件匹配不区分大小写,而在 Linux 上区分大小写。了解更多关于 glob 模式大小写敏感性

小贴士

在资源管理器中,您可以右键单击一个文件夹并选择在文件夹中搜索,以仅在文件夹内搜索。

搜索和替换

您还可以在多个文件中搜索和替换。展开搜索小部件以显示替换文本框。

搜索和替换

当您在替换文本框中输入文本时,您将看到待处理更改的差异显示。您可以从替换文本框中替换所有文件,替换单个文件中的所有内容或替换单个更改。

搜索和替换差异视图

小贴士

你可以通过使用 (Windows, Linux 向下) (Windows, Linux 向上) 来快速重复使用以前的搜索词。

正则表达式替换中的大小写转换

VS Code 在编辑器中或全局范围内进行搜索和替换时,支持更改 regex 匹配组的大小写。这通过使用修饰符来实现输入:\u\U\l\L,其中输入:\l将转换单个字符的大小写,和输入:\U输入:\L将使匹配组的其余部分转换为大写/小写。

示例:

在查找和替换时更改大小写

这些修饰符也可以堆叠 - 例如,$1将组的前三个字符转换为大写,或者\l\U$1将把第一个字符转换为小写,其余字符转换为大写。捕获组通过引用。输入:$n在替换字符串中,其中输入: n是捕获组的顺序。

搜索编辑器

搜索编辑器允许您在全尺寸编辑器中查看工作区搜索结果,带有语法突出显示和可选的周围上下文行。

以下是搜索“SearchEditor”一词的搜索结果,匹配前后的两行文本以提供上下文:

搜索编辑器概述

打开搜索编辑器命令如果存在搜索编辑器,则打开现有的搜索编辑器,否则创建一个新的搜索编辑器。 新建搜索编辑器命令将始终创建一个新的搜索编辑器。

在搜索编辑器中,可以使用转到定义操作来导航到结果,例如F12在当前编辑器组中打开源位置,或者⌘K F12(Windows, Linux Ctrl+K F12在侧边编辑器中打开位置。此外,您还可以通过

搜索.搜索编辑器.单击行为
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
搜索.搜索编辑器.双击行为
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。例如,打开预览定义Windows或打开源位置。

您还可以使用搜索视图顶部的打开新的搜索编辑器按钮,并且可以使用搜索视图顶部的在编辑器中打开链接将现有的搜索结果复制到搜索编辑器中,或者使用搜索编辑器:在编辑器中打开结果命令。

搜索编辑器按钮

上面的搜索编辑器是通过选择搜索视图顶部的打开新的搜索编辑器按钮(第三个按钮)打开的。

搜索编辑器命令和参数

  • 搜索.操作.打开新编辑器- 在新标签页中打开搜索编辑器。
  • 搜索.操作.在编辑器中打开- 将当前的搜索结果复制到新的搜索编辑器中。
  • 搜索.操作.在旁边打开新编辑器- 在您当前打开的Windows旁边的新Windows中打开搜索编辑器。

有两个参数可以传递给搜索编辑器命令(搜索.操作.打开新编辑器搜索.操作.在旁边打开新编辑器) 允许键盘快捷键来配置新的搜索编辑器应如何行为:

  • 触发搜索- 当打开搜索编辑器时,是否自动运行搜索。默认为真。
  • 聚焦结果- 在搜索结果或查询输入中是否聚焦。默认为真。

例如,当搜索编辑器打开时,以下键盘快捷键会执行搜索但保持焦点在搜索查询控件中。

{
  "键": "ctrl+o",
  "命令": "search.action.openNewEditor",
  "参数": { "查询": "VS Code", "触发搜索": true, "聚焦结果": false }
}

搜索编辑上下文默认

搜索.搜索编辑器.默认上下文行数
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置的默认值为1,这意味着在搜索编辑器中每个结果行前和后将显示一行上下文。

复用上次的搜索编辑器配置

搜索.搜索编辑器.重复使用先前的搜索配置
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置(默认是假的) 可以在创建新的搜索编辑器时重用上次活动的搜索编辑器的配置。

智能感知

我们会始终提供单词补全,但对于丰富的语言,如JavaScript、JSON、HTML、CSS、SCSS、Less、C#和TypeScript,我们提供真正的IntelliSense体验。如果语言服务知道可能的补全内容,IntelliSense建议将在您输入时弹出。您可以始终手动触发它,使用⌃Space(Windows、LinuxCtrl+Space。默认情况下,TabEnter是接受的键盘触发键,但您也可以自定义这些键盘快捷键

小贴士

过滤建议支持驼峰命名法,因此您可以输入方法名称中大写的字母来限制建议。例如,“cra”将快速显示“createApplication”。

小贴士

IntelliSense建议可以通过以下方式进行配置

编辑器.快速建议
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
editor.suggestOnTriggerCharacters
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置.

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.格式化.缩进内联HTML
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
) 您可以在用户或工作区的设置中根据自己的喜好进行调整 设置。如果您安装了其他提供相同语言格式的扩展,则可以禁用默认语言格式化程序。

"html.format.enable" false

除了手动调用代码格式化,你还可以根据用户手势(如输入、保存或粘贴)触发格式化。这些默认是关闭的,但你可以通过以下设置启用这些行为:

  • 编辑器.格式化输入
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 输入后格式化该行。
  • 编辑器.保存时格式化
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 保存文件时格式化。
  • 编辑器.粘贴时格式化
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    - 格式化粘贴的内容。
注意

并非所有格式化器都支持粘贴时格式化,因为它们必须支持对选定或范围内的文本进行格式化。

除了默认的格式化器,您可以在市场中找到扩展以支持其他语言或格式化工具。有一个格式化器 分类,以便您可以轻松搜索和找到 格式化扩展。在 扩展 视图的搜索框中,输入 '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"
  },

区域也可以通过每个语言定义的标记来定义。目前,以下语言有定义的标记:

语言 开始区域 结束区域
蝙蝠 ::#区域 REM #区域 ::#endregionREM #endregion
C# # 区域 #endregion
C/C++ #pragma 区域 #pragma endregion
CSS/Less/SCSS /*#region*/ /*#endregion*/
咖啡脚本 # 区域 #endregion
F# //#区域 (#_地区) //#endregion (#_endregion)
Java //#区域//<编辑区折叠> //#endregion//
Markdown
Perl5 # 区域=开始 #endregion=剪切
PHP # 区域 #endregion
PowerShell # 区域 #endregion
Python # 区域# 区域 #endregion# endregion
TypeScript/JavaScript //#区域 //#endregion
可视化 Basic #区域 #结束区域

仅对由标记定义的区域进行折叠和展开,请使用:

  • 折叠标记区域 (⌘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 会插入空格,并且每个制表符键使用 4 个空格。如果你希望使用其他默认设置,你可以修改

编辑器插入空格
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
编辑器.标签大小
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置.

    "editor.insertSpaces": true,
    "editor.tabSize": 4,

自动检测

VS Code分析你打开的文件,并确定文档中使用的缩进。自动检测的缩进会覆盖你的默认缩进设置。检测到的设置显示在状态栏的右侧:

自动检测缩进

您可以点击状态栏的缩进显示,弹出一个下拉菜单,包含缩进命令,允许您更改当前打开文件的默认设置或在制表位和空格之间进行转换。

缩进命令

注意

VS Code自动检测检查缩进为2、4、6或8个空格。如果您的文件使用不同的空格数,缩进可能无法正确检测。例如,如果您的习惯是用3个空格缩进,您可能需要关闭

编辑器检测缩进
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
并明确将制表符大小设置为3。

    "editor.detectIndentation": false,
    "editor.tabSize": 3,

文件编码支持

通过使用,全局或按工作区设置文件编码

文件编码
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置在 用户设置工作区设置

files.encoding 设置

您可以在状态栏中查看文件编码。

状态栏中的编码

点击状态栏中的编码按钮以用不同的编码重新打开或保存当前文件。

重新打开或以不同的编码保存

然后选择一种编码。

选择编码

覆盖模式

在1.96版本发布之前,VS Code仅支持插入模式,在该模式下,字符会插入到光标位置,除非你安装了Vim键映射扩展

截至1.96版本,VS Code 支持覆盖模式,该模式允许你覆盖现有字符,而不是在光标位置插入字符。默认情况下,覆盖模式是关闭的。

要切换插入和覆盖模式,请在命令面板中运行切换覆盖/插入模式命令或按(⌥⌘O(Windows, Linux 插入))。当您处于覆盖模式时,状态栏指示器显示概述输入:.

您可以通过配置更改插入模式的光标样式

编辑器.覆盖光标样式
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。

使用

编辑器.粘贴时覆盖
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为粘贴时覆盖文本。您需要处于覆盖模式下才能生效。

比较文件

VS Code 支持几种方式来比较当前文件或任何两个文件的内容。

当您在编辑器中打开一个活动文件时,您有以下比较选项:

  • 与工作区文件比较:在命令面板中,选择文件:将活动文件与...比较,然后选择另一个文件进行比较。
  • 与剪贴板比较:在命令面板中,选择文件:将当前文件与剪贴板比较 (⌘K C (Windows, Linux Ctrl+K C))以比较当前文件与剪贴板内容。
  • 与保存的比较:在命令面板中,选择文件:将活动文件与保存的比较 (⌘K D (Windows, Linux Ctrl+K D))以比较当前文件与上次保存的版本。

比较任意两个文件:

  • 右键单击资源管理器视图中的文件并选择“选择进行比较”。然后,右键单击第二个文件并选择“与所选项目比较”。
  • 要开始比较两个空的编辑器Windows,请在命令面板中选择文件:比较新未命名文本文件
小贴士

您可以通过命令行启动 VS Code--差异 选项用于比较两个文件。了解更多关于 VS Code 命令行界面 的信息。

下一步

你已经涵盖了基本的用户界面 - VS Code 还有很多其他功能。继续阅读以了解:

常见问题

是否可以全局搜索和替换?

是的,展开搜索视图文本框,包括替换文本字段。您可以在工作区中的所有文件中搜索和替换。请注意,如果您没有在文件夹上打开 VS Code,搜索将仅在当前打开的文件上运行。

全局搜索和替换

如何开启自动换行?

您可以控制自动换行通过

编辑器.自动换行
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。默认情况下,
编辑器.自动换行
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
但是如果你全力以赴地去做文本将在编辑器视口宽度上换行。

    "editor.wordWrap""on"

您可以通过⌥Z(Windows, Linux Alt+Z切换VS Code会话的自动换行。

您还可以在编辑器中添加垂直柱状标尺

编辑器.标尺
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置,它接受一个数组,数组中的元素是您希望放置垂直标尺的列字符位置。

与其他编辑器一样,剪切复制命令适用于整个包裹的行。三击选择整个包裹的行。按两次Home将光标移动到行的开头。按两次End将光标移动到行的末尾。

如何避免在自动换行的行中放置额外的光标?

如果您希望在添加光标时忽略换行,可以传递{ "logicalLine": true }参数在键盘快捷键上像这样:

{
  "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 },
},