现已发布!阅读有关一月份的新功能和修复。

基本编辑

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)可能会覆盖这些默认快捷键。

Multi-cursor

⌘D (Windows, Linux Ctrl+D) 会选中光标处的单词,或当前选择的下一个匹配项。

提示

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

Multi-cursor-next-word

提示

您还可以使用 ⇧⌘L (Windows, Linux Ctrl+Shift+L) 添加更多光标,这会在当前选中文本的每个匹配项处添加一个选择。

多光标修饰键

如果您想将 macOS 上的 Cmd+Click 和 Windows/Linux 上的 Ctrl+Click 用作多光标应用修饰键,可以通过

editor.multiCursorModifier
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来更改。这使得像 Sublime Text 或 Atom 这样的其他编辑器用户可以继续使用他们熟悉的键盘修饰键。

该设置可以设置为

  • ctrlCmd - 映射到 Windows 上的 Ctrl 和 macOS 上的 Cmd
  • alt - 现有的默认 Alt

还有一个菜单项 **选择** > **切换到 Ctrl+Click 用于多光标** 或 **选择** > **切换到 Alt+Click 用于多光标** 来快速切换此设置。

“转到定义”和“打开链接”手势也将遵循此设置并进行调整,以免发生冲突。例如,当设置为 ctrlCmd 时,可以使用 Ctrl/Cmd+Click 添加多光标,而使用 Alt+Click 调用打开链接或转到定义。

收缩/展开选择

快速收缩或展开当前选择。使用 ⌃⇧⌘← (Windows, Linux Shift+Alt+Left)⌃⇧⌘→ (Windows, Linux Shift+Alt+Right) 触发。

以下是使用 ⌃⇧⌘→ (Windows, Linux Shift+Alt+Right) 展开选择的示例

Expand selection

列(框)选择

将光标放在一个角,然后按住 Shift+Alt 并拖动到相对的角

Column text selection

注意

当使用 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) 向下翻页列选择 cursorColumnSelectPageDown
⇧PageUp (Windows, Linux Shift+PageUp) 向上翻页列选择 cursorColumnSelectPageUp

如果您想将它们绑定到更熟悉的快捷键,可以 编辑 您的 keybindings.json 文件。

列选择模式

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

保存 / 自动保存

默认情况下,VS Code 需要显式操作才能将您的更改保存到磁盘,⌘S (Windows, Linux Ctrl+S)

但是,可以轻松开启 自动保存,它会在配置的延迟后或当焦点离开编辑器时保存您的更改。启用此选项后,无需显式保存文件。启用 自动保存 的最简单方法是使用 **文件** > **自动保存** 切换,该切换会开启和关闭延迟后的保存。

要更精细地控制 自动保存,请打开用户或工作区 设置 并找到相关设置

  • files.autoSave
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    :可以具有以下值
    • off - 禁用自动保存。
    • afterDelay - 在配置的延迟后保存文件(默认 1000 毫秒)。
    • onFocusChange - 当焦点移出脏文件编辑器时保存文件。
    • onWindowChange - 当焦点移出 VS Code 窗口时保存文件。
  • files.autoSaveDelay
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    :配置当
    files.autoSave
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    配置为 afterDelay 时的延迟(以毫秒为单位)。默认值为 1000 毫秒。

如果您想为特定语言或文件类型自定义 自动保存 功能,可以通过 settings.json 文件添加特定于语言的规则来实现。

例如,为 LaTeX 文件禁用 自动保存

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

热退出

默认情况下,VS Code 在您退出时会记住文件未保存的更改。热退出在应用程序通过 **文件** > **退出** (macOS 上为 **代码** > **退出** ) 关闭或最后一个窗口关闭时触发。

您可以通过将

files.hotExit
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为以下值来配置热退出

  • "off": 禁用热退出。
  • "onExit": 在应用程序关闭时触发热退出,即在 Windows/Linux 上关闭最后一个窗口时,或从 **命令面板**、键盘快捷键或菜单触发 workbench.action.quit 命令时。下次启动时将恢复所有未打开文件夹的窗口。
  • "onExitAndWindowClose": 在应用程序关闭时触发热退出,即在 Windows/Linux 上关闭最后一个窗口时,或从 **命令面板**、键盘快捷键或菜单触发 workbench.action.quit 命令时,以及对于任何已打开文件夹的窗口,无论是否是最后一个窗口。下次启动时将恢复所有未打开文件夹的窗口。要像关闭前一样恢复文件夹窗口,请将
    window.restoreWindows
    • 在 VS Code 中打开
    • 在 VS Code Insiders 中打开
    设置为 all

如果热退出出现问题,所有备份都存储在标准安装位置的以下文件夹中

  • Windows %APPDATA%\Code\Backups
  • macOS $HOME/Library/Application Support/Code/Backups
  • Linux $HOME/.config/Code/Backups

查找和替换

VS Code 允许您快速查找和替换当前打开文件中的文本。按 ⌘F (Windows, Linux Ctrl+F) 在编辑器中打开查找控件并键入搜索字符串。搜索结果将在编辑器、概览标尺和迷你地图中高亮显示。

VS Code 会在你输入时立即开始搜索。要仅在按下 Enter 时开始搜索,请清除

editor.find.findOnType
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来指定 VS Code 应该查找技能的自定义路径。

如果当前文件中存在多个匹配项,当查找输入框具有焦点时,按 Enter 前往下一个结果,或按 ⇧Enter (Windows, Linux Shift+Enter) 前往上一个结果。

默认情况下,VS Code 会保存工作区查找和替换查询的历史记录,并在重启后恢复。您可以通过

editor.find.history
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
editor.find.replaceHistory
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来配置此行为。将值设置为 never 可禁用历史记录的保存。

从选区播种搜索字符串

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

Seed Search String From Selection

通过将

editor.find.seedSearchStringFromSelection
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为 "never" 来关闭此功能。

选区内查找

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

Find In Selection

如果您希望使其成为查找控件的默认行为,可以将

editor.find.autoFindInSelection
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置为 always,或设置为 multiline,如果您希望仅在选中多行内容时对选中文本执行。

高级查找和替换选项

对于更高级的场景,查找和替换控件具有以下选项

  • 查找控件

    • 区分大小写
    • 全字匹配
    • 正则表达式
  • 替换控件

    • 保留大小写

Advanced Find and Replace Options

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

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

Multiple Line Support

在搜索长文本时,查找控件的默认大小可能太小。您可以拖动左侧的分割符来放大查找控件,双击左侧分割符可以最大化它,或将其缩小到默认大小。

Resize Find control

跨文件搜索

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

A simple text search across files

提示

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

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

提示

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

高级搜索选项

Advanced search options

在搜索框下方的两个输入框中,您可以输入要包含或排除在搜索中的模式。如果您输入 example,它将匹配工作区中每个名为 example 的文件夹和文件。如果您输入 ./example,它将匹配工作区顶层名为 example/ 的文件夹。使用 , 分隔多个模式。路径必须使用正斜杠。您还可以使用 glob 模式 语法,例如

  • * 匹配路径段中的零个或多个字符
  • ? 匹配路径段中的一个字符
  • ** 匹配任意数量的路径段,包括零个
  • {} 用于分组条件(例如 {**/*.html,**/*.txt} 匹配所有 HTML 和文本文件)
  • [] 用于**声明**要匹配的字符范围(example.[0-9] 匹配 example.0example.1 等)
  • [!...] 用于否定要匹配的字符范围(example.[!0-9] 匹配 example.aexample.b,但不匹配 example.0

关于区分大小写的注意: Glob 模式遵循您的操作系统的文件系统规则。在 Windows 和 macOS 上,模式不区分大小写(例如,*.CS 匹配 file.cs)。在 Linux 上,模式区分大小写。这与搜索文本的 **区分大小写** 切换不同,后者控制搜索文本本身是否区分大小写。了解有关 glob 模式 的更多信息。

VS Code 默认排除某些文件夹以减少您不感兴趣的搜索结果数量(例如:node_modules)。打开 设置 以在

files.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
search.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
部分下更改这些规则。

请注意,搜索视图中的 glob 模式与

files.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
search.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
等设置中的 glob 模式工作方式不同。在设置中,您必须使用 **/example 来匹配工作区中名为 example 的子文件夹中的 example 文件夹。在搜索视图中,假定有 ** 前缀。这些设置中的 glob 模式始终相对于工作区文件夹的路径进行评估。

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

files.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
search.exclude
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置匹配的文件。

注意

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

提示

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

搜索和替换

您还可以跨文件进行搜索和替换。展开搜索小部件以显示替换文本框。

search and replace

当您在替换文本框中键入文本时,您将看到待定更改的差异显示。您可以从替换文本框跨所有文件进行替换,在单个文件中替换全部,或替换单个更改。

search and replace diff view

提示

您可以使用 (Windows, Linux Down) (Windows, Linux Up) 导航浏览您的搜索词历史记录,以快速重用以前的搜索词。

Regex 替换中的大小写更改

VS Code 支持在编辑器或全局进行搜索和替换时更改正则表达式匹配组的大小写。这通过修饰符 \u\U\l\L 实现,其中 \u\l 将大写/小写单个字符,而 \U\L 将大写/小写匹配组的其余部分。修饰符也可以堆叠 - 例如,\u\u\u$1 将大写组的前三个字符,或 \l\U$1 将小写第一个字符,然后大写其余部分。捕获组通过替换字符串中的 $n 引用,其中 n 是捕获组的顺序。

示例

Changing case while doing find and replace

修饰符也可以堆叠 - 例如,\u\u\u$1 将大写组的前三个字符,或 \l\U$1 将小写第一个字符,然后大写其余部分。捕获组通过替换字符串中的 $n 引用,其中 n 是捕获组的顺序。

搜索编辑器

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

以下是搜索单词 'SearchEditor' 的结果,并带有匹配前后的两行文本作为上下文

Search Editor overview

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

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

search.searchEditor.singleClickBehaviour
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
search.searchEditor.doubleClickBehaviour
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置。例如,打开一个窥视定义窗口或打开源位置。

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

Search Editor Button

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

搜索编辑器命令和参数

  • search.action.openNewEditor - 在新标签页中打开搜索编辑器。
  • search.action.openInEditor - 将当前搜索结果复制到新的搜索编辑器中。
  • search.action.openNewEditorToSide - 在新窗口中打开搜索编辑器,紧邻您当前打开的窗口。

您可以将两个参数传递给搜索编辑器命令(search.action.openNewEditorsearch.action.openNewEditorToSide),以允许键盘快捷键配置新搜索编辑器应如何行为

  • triggerSearch - 打开搜索编辑器时是否自动运行搜索。默认为 true。
  • focusResults - 是将焦点放在搜索结果中还是查询输入中。默认为 true。

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

{
  "key": "ctrl+o",
  "command": "search.action.openNewEditor",
  "args": { "query": "VS Code", "triggerSearch": true, "focusResults": false }
}

搜索编辑器上下文默认值

search.searchEditor.defaultNumberOfContextLines
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置的默认值为 1,表示在搜索编辑器中的每个结果行之前和之后会显示一行上下文。

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

search.searchEditor.reusePriorSearchConfiguration
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置(默认为 false)允许您在创建新的搜索编辑器时重用上次活动的搜索编辑器的配置。

IntelliSense

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

提示

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

提示

可以通过

editor.quickSuggestions
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
editor.suggestOnTriggerCharacters
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置 来配置 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
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
),您可以在用户或工作区设置中根据自己的偏好进行调整。如果您安装了另一个提供相同语言格式化的扩展,也可以禁用默认语言格式化程序。

"html.format.enable": false

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

  • editor.formatOnType
    • Open in VS Code
    • Open in VS Code Insiders
    - 在键入后格式化行。
  • editor.formatOnSave
    • Open in VS Code
    • Open in VS Code Insiders
    - 保存时格式化文件。
  • editor.formatOnPaste
    • Open in VS Code
    • Open in VS Code Insiders
    - 格式化粘贴的内容。
注意

并非所有格式化程序都支持粘贴格式化,因为它们必须支持格式化选定文本或文本范围。

除了默认格式化程序,您还可以在 Marketplace 中找到支持其他语言或格式化工具的扩展。有一个格式化程序类别,您可以轻松搜索并找到格式化扩展。在扩展视图搜索框中,键入“formatters”或“category:formatters”以查看 VS Code 中扩展的筛选列表。

折叠

您可以使用行号和行首之间的装订线上的折叠图标折叠源代码区域。将鼠标悬停在装订线上并单击以折叠和展开区域。按住Shift键并单击折叠图标以折叠或展开当前区域及其内部的所有区域。

Folding

您还可以使用以下操作:

  • 折叠(⌥⌘[ (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 ::#regionREM #region ::#endregionREM #endregion
C# #region #endregion
C/C++ #pragma region #pragma endregion
CSS/Less/SCSS /*#region*/ /*#endregion*/
Coffeescript #region #endregion
F# //#region(#_region) //#endregion(#_endregion)
Java //#region//<editor-fold> //#endregion//</editor-fold>
Markdown <!-- #region --> <!-- #endregion -->
Perl5 #region=pod #endregion=cut
PHP #region #endregion
PowerShell #region #endregion
Python #region# region #endregion# 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
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
editor.tabSize
  • Open in VS Code
  • Open in VS Code Insiders
设置

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

自动检测

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

auto detect indentation

您可以单击状态栏的缩进显示,调出带有缩进命令的下拉菜单,允许您更改当前文件的默认设置或在制表符和空格之间进行转换。

indentation commands

注意

VS Code 自动检测会检查 2、4、6 或 8 个空格的缩进。如果您的文件使用不同数量的空格,则可能无法正确检测缩进。例如,如果您的约定是缩进 3 个空格,您可能希望关闭

editor.detectIndentation
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
并显式将制表符大小设置为 3。

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

文件编码支持

通过使用用户设置工作区设置中的

files.encoding
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来全局或按工作区设置文件编码。

files.encoding setting

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

Encoding in status bar

单击状态栏中的编码按钮,以不同的编码重新打开或保存活动文件。

Reopen or save with a different encoding

然后选择一个编码。

Select an encoding

改写模式

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

从 1.96 版本开始,VS Code 支持覆盖模式,该模式允许您覆盖现有字符,而不是在光标位置插入字符。默认情况下,覆盖模式处于关闭状态。

要在插入模式和覆盖模式之间切换,请在命令面板中运行切换覆盖/插入模式命令,或按(⌥⌘O (Windows、Linux Insert))。当您处于覆盖模式时,状态栏指示器会显示 OVR

您可以通过配置

editor.overtypeCursorStyle
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来指定 VS Code 应该查找技能的自定义路径。

使用

editor.overtypeOnPaste
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来在粘贴时覆盖文本。您需要处于覆盖模式才能使此设置生效。

比较文件

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,搜索将仅在当前打开的文件上运行。

global search and replace

如何启用自动换行?

您可以通过

editor.wordWrap
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置来控制自动换行。默认情况下,
editor.wordWrap
  • Open in VS Code
  • Open in VS Code Insiders
off,但如果您将其设置为 on,文本将根据编辑器的视口宽度换行。

    "editor.wordWrap": "on"

您可以使用⌥Z (Windows、Linux Alt+Z) 在 VS Code 会话中切换自动换行。

您还可以通过

editor.rulers
  • 在 VS Code 中打开
  • 在 VS Code Insiders 中打开
设置在编辑器中添加垂直标尺,该设置接受一个数组,其中包含您希望放置垂直标尺的字符列位置。

与其他编辑器一样,剪切复制等命令适用于整个换行。三击选择整个换行。按两次Home键可以将光标移到行首。按两次End键可以将光标移到行尾。

如何在换行时避免放置额外的光标?

如果您想在当前选定区域上方或下方添加光标时忽略换行,可以通过以下方式在键盘快捷键的 args 中传递 { "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 },
},
© . This site is unofficial and not affiliated with Microsoft.