Visual Studio Code 终端使用和设置说明
Visual Studio Code 终端
在实际的项目开发中,IDE 通常会使用命令行(也被称为外壳程序,shell)来编译和运行代码,或完成其他的相关任务。Visual Studio Code 终端使开发人员可以在 Visual Studio Code 中直接使用命令行,比如 Windows 中的 PowerShell 和命令提示符,UNIX/Linux 中的bash
。
默认情况下,终端面板会显示在 Visual Studio Code 的底部区域,该面板的右上角将提供与终端相关的实用功能和信息。如果 Visual Studio Code 终端启动了多个命令行应用,那么终端面板的右边区域会一一列出他们,同时界面会发生一些变化。
打开 Visual Studio Code 终端
要在 Visual Studio Code 中打开终端,你可以选择 Visual Studio Code 菜单项查看 | 终端,或者使用键盘快捷方式Ctrl+`(macOS 中为⌃+`),或者在 Visual Studio Code 的命令面板中输入并执行命令View: Toggle Terminal
。如果终端已经被打开,那么使用键盘快捷方式Ctrl+`或执行命令View: Toggle Terminal
将隐藏终端。
如何在 Visual Studio Code 中打开新的外部终端?
除了可以打开集成的终端,Visual Studio Code 也可以直接打开外部终端,只需要使用键盘快捷方式Ctrl+Shift+C,或在命令面板中输入并执行命令Open New External Terminal
,或选择 Visual Studio Code 资源管理器中的文件夹的上下文菜单项在外部终端中打开即可。
外部终端将作为单独的程序运行,并且可通过 Visual Studio Code 用户设置项(在 Visual Studio Code 工作区设置文件中无效)来指定具体被启动的命令行应用的路径,其中terminal.external.windowsExec
用于 Windows,terminal.external.linuxExec
用于 Linux,terminal.external.osxExec
用于 macOS。
{
// 以下三个设置项用于设置被启动的外部命令行应用,在工作区设置中无效
"terminal.external.windowsExec": "C:\\WINDOWS\\System32\\cmd.exe",
"terminal.external.linuxExec": "xterm",
"terminal.external.osxExec": "Terminal.app",
}
如何从 Visual Studio Code 资源管理器中的文件夹打开外部终端?
在默认情况下,Visual Studio Code 资源管理器中的文件夹只有上下文菜单项在集成终端中打开,你需要将 Visual Studio Code 设置项terminal.explorerKind
设置为external
,这将启用上下文菜单项在外部终端中打开。
此外,Visual Studio Code 设置项terminal.explorerKind
还拥有以下有效取值,integrated
(默认值,启用上下文菜单项在集成终端中打开),both
(同时启用上下文菜单项在集成终端中打开和在外部终端中打开)。
{
// 同时启用上下文菜单项在集成终端中打开和在外部终端中打开
"terminal.explorerKind": "both",
}
如何从 Visual Studio Code 源代码管理面板中的源代码管理存储库打开外部终端?
如果 Visual Studio Code 源代码管理面板中的源代码管理存储库已经显示,那么默认情况下,可通过源代码管理存储库中列出的存储库的上下文菜单项在集成终端中打开,打开集成终端。将 Visual Studio Code 设置项terminal.sourceControlRepositoriesKind
设置为external
,可启用上下文菜单项在外部终端中打开,以打开外部终端。
此外,Visual Studio Code 设置项terminal.sourceControlRepositoriesKind
还拥有以下有效取值,integrated
(默认值,启用上下文菜单项在集成终端中打开),both
(同时启用上下文菜单项在集成终端中打开和在外部终端中打开)。
{
// 同时启用上下文菜单项在集成终端中打开和在外部终端中打开
"terminal.sourceControlRepositoriesKind": "both",
}
新建 Visual Studio Code 终端
在 VSCode 中新建打开终端的几种方式视频演示 YouTube
正如之前提到的,Visual Studio Code 终端可以同时运行多个命令行应用(外壳程序),这些命令行应用会在终端面板的右边区域列出。选择 Visual Studio Code 菜单项终端 | 新建终端,或者使用键盘快捷方式Ctrl+Shift+`(macOS 中为⌃+⇧+`),或者在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Create New Terminal
,或选择 Visual Studio Code 资源管理器中的文件夹的上下文菜单项在集成终端中打开,或者点击终端面板右上角的加号按钮可以在终端中启动一个新的命令行应用。这通常是有效的,当你需要使用不同的命令行应用来执行不同的任务时。
如果 Visual Studio Code 工作区包含了多个根目录,那么需要选择在哪个根目录新建终端。
如何在 Visual Studio Code 终端中启动不同的命令行应用(外壳程序)?
一般情况下,Visual Studio Code 会使用默认终端配置文件,并启动该配置所指定的命令行应用,如果你希望使用其他命令行应用,那么应使用其对应的终端配置文件。点击 Visual Studio Code 终端面板右上角的加号按钮旁边的箭头按钮,将列出所有可用的终端配置文件,任意选择一个即可启动该终端配置文件对应的命令行应用。或者,在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Create New Terminal (With Profile)
,然后选择需要启动的终端配置文件。
配置文件
如果希望了解如何设置默认的 Visual Studio Code 终端配置文件或更多关于 Visual Studio Code 终端配置文件的信息,你可以查看设置默认的配置文件一段或Visual Studio Code 终端配置文件使用说明一节。
如何在 Visual Studio Code 的编辑器区域中新建终端?
在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Create New Terminal in Editor Area
,可以在编辑器区域启动新的命令行应用(外壳程序),而执行命令Terminal: Create New Terminal in Editor Area to the Side
会在编辑器区域的右侧启动新的命令行应用。
如何在 Visual Studio Code 中更改新建终端的显示位置?
默认情况下,在 Visual Studio Code 中执行新建终端的操作后,被启动的命令行应用(外壳程序)将显示在终端面板中,通过 Visual Studio Code 的设置项terminal.integrated.defaultLocation
可以更改新建命令行的显示位置,该设置项的有效值包含以下几种。
view
是 Visual Studio Code 设置项terminal.integrated.defaultLocation
的默认值,他表示新建的命令行将显示在终端面板中。editor
表示新建的命令行将显示在 Visual Studio Code 的编辑器区域。
{
// 新的命令行应用将显示在编辑器区域中
"terminal.integrated.defaultLocation": "editor",
}
Visual Studio Code 终端的当前工作目录
默认情况下,Visual Studio Code 终端所打开的命令行应用(外壳程序)会将 Visual Studio Code 工作区的根目录作为其当前工作目录,你可以通过 Visual Studio Code 设置项terminal.integrated.cwd
来指定命令行应用的当前工作目录。
由于拆分 Visual Studio Code 终端而产生的新命令行应用,其当前工作目录可能由原有命令行应用决定,具体请查看拆分和取消拆分终端一段。
{
// 将工作区的 src 文件夹作为命令行的当前工作目录
"terminal.integrated.cwd": "src",
}
如何将 Visual Studio Code 中的文件夹作为被打开的终端的当前工作目录?
在 Visual Studio Code 的资源管理器中,选择某个文件夹的上下文菜单项在集成终端中打开或在外部终端中打开,即可打开命令行应用并将该文件夹作为命令行的当前工作目录。
Visual Studio Code 终端中的自动换行
虽然一些命令行应用(外壳程序)自身拥有自动换行功能,但一些文字可能依然无法显示在 Visual Studio Code 终端面板中。你可以选择命令行应用的上下文菜单项将大小切换为内容宽度,或使用键盘快捷方式Alt+Z,或在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Toggle Size to Content Width
来设置是否启用 Visual Studio Code 终端的自动换行功能,启用该功能将使得命令行中的所有内容显示在可见的区域中。
Visual Studio Code 终端的缓冲区
命令行应用(外壳程序)中显示的命令和输出结果,存放在 Visual Studio Code 终端的缓冲区中,该缓冲区的大小可以通过设置项terminal.integrated.scrollback
修改,默认值为1000
,即最多可保留1000
行的信息。这里需要指出,Visual Studio Code 终端的缓冲区能够保留的最多行数可能与设置项terminal.integrated.scrollback
不同。
Visual Studio Code 将根据终端缓冲区的大小来分配内存
当你通过设置项terminal.integrated.scrollback
增加 Visual Studio Code 终端的缓冲区大小时,Visual Studio Code 所占用的内存也将增加,这些内存会被预先分配,以提供流畅的用户体验。
{
// 命令行可以保留 200 行的信息
"terminal.integrated.scrollback": 200,
}
Visual Studio Code 终端的复制和粘贴操作
Visual Studio Code 终端中的复制和粘贴操作与其所在的操作系统相同,在 Windows 中可以使用键盘快捷方式Ctrl+C和Ctrl+V进行复制和粘贴,在 Linux 中可以使用键盘快捷方式Ctrl+Shift+C和Ctrl+Shift+V进行复制和粘贴,在 macOS 中可以使用键盘快捷方式⌘+C和⌘+V进行复制和粘贴。
除了上述键盘快捷方式,Visual Studio Code 终端还提供了以下命令面板命令来完成一些复制和粘贴操作。
命令Terminal: Copy Last Command and Output
可用于复制命令行中最后一条被执行的命令和其输出结果。命令Terminal: Copy Last Command
可用于复制命令行中最后一条被执行的命令。命令Terminal: Copy Last Command Output
可用于复制命令行中最后一条被执行的命令的输出结果。
命令Terminal: Paste into Active Terminal
可用于将内容粘贴至当前活动的命令行应用。
另外,一些鼠标操作也可以实现文本的复制和粘贴,具体请查看鼠标操作一段。
如何自动复制 Visual Studio Code 终端中选中的内容?
默认情况下,选中 Visual Studio Code 命令行应用(外壳程序)中的内容,并不会自动复制他们,你可以将 Visual Studio Code 设置项terminal.integrated.copyOnSelection
设置为true
,以自动复制选中的内容。
{
// 自动复制选中的内容
"terminal.integrated.copyOnSelection": true,
}
如何禁用或启用 Visual Studio Code 终端中的粘贴警告?
如果 Visual Studio Code 终端所打开的命令行应用(外壳程序)不支持括号粘贴模式(Bracketed Paste Mode)并且不是由readline
处理粘贴内容,那么当你尝试为命令行粘贴多行文本时,Visual Studio Code 将显示粘贴警告“是否确实要将 … 行文本粘贴到终端?”,此时,有三个选择,其中“粘贴”表示将多行文本粘贴至命令行,“粘贴为 one 行”(可能是翻译错误)表示将多行文本转换为单行文本并粘贴至命令行,“取消”表示不执行粘贴操作。
要禁用上述粘贴警告,需要将 Visual Studio Code 设置项terminal.integrated.enableMultiLinePasteWarning
设置为never
,该设置项还拥有以下有效值。always
表示 Visual Studio Code 总是在粘贴多行文本时显示警告(是否显示警告视具体命令行应用而定)。auto
是设置项terminal.integrated.enableMultiLinePasteWarning
的默认值,表示当命令行不支持括号粘贴模式并且不是由readline
处理粘贴内容时,粘贴多行文本至命令行将导致 Visual Studio Code 显示粘贴警告。
{
// 禁用粘贴警告
"terminal.integrated.enableMultiLinePasteWarning": "never",
}
Visual Studio Code 终端的查找操作
当 Visual Studio Code 终端所打开的命令行应用(外壳程序)处于活动状态时,使用键盘快捷方式Ctrl+F,或者在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Focus Find
将打开查找小部件。
除了通过查找小部件进行查找的相关操作,Visual Studio Code 终端还提供了一些键盘快捷方式(一般需要命令行处于活动状态)和命令面板命令来实现相同的效果。
键盘快捷方式Alt+R和命令Terminal: Toggle Find Using Regex
可用于设置是否采用正则表达式进行查找。键盘快捷方式Alt+W和命令Terminal: Toggle Find Using Whole Word
可用于设置是否采用全字匹配。键盘快捷方式Alt+C和命令Terminal: Toggle Find Using Case Sensitive
可用于设置是否区分大小写。
键盘快捷方式Shift+Enter(需要查找小部件处于活动状态)和命令Terminal: Find Next
可用于查找下一个符合条件的文本。键盘快捷方式Enter(需要查找小部件处于活动状态)和命令Terminal: Find Previous
可用于查找上一个符合条件的文本。
键盘快捷方式Escape和命令Terminal: Hide Find
可用于隐藏查找小部件。
Visual Studio Code 终端的选择操作
对于 Visual Studio Code 终端所打开的命令行应用(外壳程序),macOS 提供了键盘快捷方式⌘+A来选择命令行中的所有内容,而 Linux/Windows 并未提供全选操作的键盘快捷方式,因此,你可能无法在命令行中使用Ctrl+A进行全选。替代方案是在 Visual Studio Code 命令面板中执行命令Terminal: Select All
,这将选择命令行的全部内容。
此外,Visual Studio Code 终端还提供了以下键盘快捷方式(一般需要命令行处于活动状态)和命令面板命令来完成一些选择操作。
命令Terminal: Select To Next Line
可用于选择命令行的下一行,再次执行该命令将选择更多内容。命令Terminal: Select To Previous Line
可用于选择命令行的上一行,再次执行该命令将选择更多内容。
键盘快捷方式Ctrl+Shift+DownArrow和命令Terminal: Select To Next Command
可用于选择命令行中的下一个命令和其输出结果,再次执行该命令将选择更多内容。键盘快捷方式Ctrl+Shift+UpArrow和命令Terminal: Select To Previous Command
可用于选择命令行中的上一个命令和其输出结果,再次执行该命令将选择更多内容。
键盘快捷方式Escape和命令Terminal: Clear Selection
可用于取消选择。
Visual Studio Code 终端的鼠标操作
在不同的操作系统中,Visual Studio Code 终端会以不同的方式处理鼠标的右键单击操作。在 Windows 中,单击鼠标右键将复制命令行中被选择的内容或粘贴已复制的内容,在 Linux 中,单击鼠标右键将弹出上下文菜单,在 macOS 中,单击鼠标右键将选择鼠标处的文本并弹出上下文菜单。
如何改变在 Visual Studio Code 终端中单击鼠标右键时的行为?
如果你希望改变在命令行中单击鼠标右键时的行为,那么可以使用 Visual Studio Code 设置项terminal.integrated.rightClickBehavior
,该设置项拥有以下有效取值。
default
表示单击鼠标右键将在命令行中显示上下文菜单。copyPaste
表示在单击鼠标右键时,在命令行中复制已选择的内容或粘贴已复制的内容。paste
表示在单击鼠标右键时,在命令行中粘贴已复制的内容。selectWord
表示在单击鼠标右键时,选择鼠标处的文本并弹出上下文菜单。nothing
表示在单击鼠标右键时,不执行任何操作并将鼠标事件传递给命令行应用。
{
// 单击鼠标右键时将选择鼠标处的文本,并显示上下文菜单
"terminal.integrated.rightClickBehavior": "selectWord",
}
如何改变在 Visual Studio Code 终端中单击鼠标中键时的行为?
如果你希望改变在命令行中单击鼠标中键时的行为,那么可以使用 Visual Studio Code 设置项terminal.integrated.middleClickBehavior
,该设置项拥有以下有效取值。
default
表示单击鼠标中键将使命令行获得焦点。paste
表示在单击鼠标中键时,在命令行中粘贴已复制的内容。
{
// 单击鼠标中键时执行粘贴操作
"terminal.integrated.middleClickBehavior": "paste",
}
如何通过鼠标在 Visual Studio Code 终端中快速移动光标?
在 Visual Studio Code 终端所打开的命令行应用(外壳程序)中,按住Alt键(macOS 中为Option)并单击鼠标左键可以快速的移动命令行的光标。由于此功能是通过模拟键盘操作来实现的,因此在一些命令行应用中可能无效。通过将 Visual Studio Code 设置项terminal.integrated.altClickMovesCursor
设置为false
可禁用此功能。
{
// 按住 Alt 键并点击鼠标左键时不再移动光标
"terminal.integrated.altClickMovesCursor": false,
}
如何通过鼠标调整 Visual Studio Code 终端的字体大小?
如果将 Visual Studio Code 设置项terminal.integrated.mouseWheelZoom
设置为true
(默认值为false
),那么在终端中按住Ctrl键,然后滚动鼠标滚轮可以调整命令行应用的字体大小,这等同于修改 Visual Studio Code 设置项terminal.integrated.fontSize
。
需要指出的是,上述效果可能不会立即触发,因为鼠标滚轮会首先滚轮命令行应用的缓冲区。
{
// 按住 Ctrl 键并滚动鼠标可以缩放字体
"terminal.integrated.mouseWheelZoom": true,
}
如何调整鼠标在 Visual Studio Code 终端中的滚动速度?
Visual Studio Code 设置项terminal.integrated.mouseWheelScrollSensitivity
可用于调整鼠标在 Visual Studio Code 终端中的滚动速度,比如设置为2
,表示滚动速度为默认的2
倍。
{
// 鼠标滚动速度为默认的 2 倍
"terminal.integrated.mouseWheelScrollSensitivity": 2,
}
如何强制由 Visual Studio Code 终端来处理鼠标行为?
在 Visual Studio Code 终端所打开的命令行中,一些正在运行的程序可能会接管对鼠标行为的处理,比如支持鼠标的Vim
,如果希望依然由命令行来处理鼠标行为,那么需要按住Alt键(macOS 中为Option)。对于 macOS 来说,还需要将 Visual Studio Code 设置项terminal.integrated.macOptionClickForcesSelection
设置为true
。
Visual Studio Code 终端的输入操作
如果你希望快速的在 Visual Studio Code 终端所打开的命令行应用(外壳程序)中输入文件或文件夹的路径,那么可以将这些文件或文件夹拖放到命令行中,路径将进行必要的转义然后被输入至命令行。
在 Visual Studio Code 的命令面板中输入并执行命令Terminal:Run Selected Text In Active Terminal
,Visual Studio Code 会将当前编辑器中已被选择的文本作为命令在 Visual Studio Code 终端中运行,如果没有选择任何文本,则编辑器光标所在的整个行将作为命令。
在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Run Active File In Active Terminal
,Visual Studio Code 会将当前文件作为命令在 Visual Studio Code 终端中运行。
使用键盘快捷方式Ctrl+Alt+R(需要命令行应用处于活动状态)或在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Run Recent Command…
,可以选择并执行某个最近执行过的命令。
如何在将当前编辑器中已选择文本作为命令之后使 Visual Studio Code 终端获得焦点?
如果将 Visual Studio Code 设置项terminal.integrated.focusAfterRun
设置为terminal
,那么在命令面板中输入并执行命令Terminal: Run Selected Text In Active Terminal
后,Visual Studio Code 终端将获得焦点。
{
// 执行命令之后使命令行获得焦点
"terminal.integrated.focusAfterRun": "terminal",
}
Visual Studio Code 终端中的链接
Visual Studio Code 终端所打开的命令行应用(外壳程序)可能包含一些链接,这些链接可以在按住Ctrl(macOS 中为⌘)的情况下被鼠标点击,并在鼠标悬停时显示下划线。不同类型的链接拥有不同的优先级和不同的处理方式,下面我们按照优先级从高到低的顺序列出他们。
- URI/URL 链接
对于 Visual Studio Code 命令行中的 URI/URL 链接,按住Ctrl并点击他们将启动相关协议的处理程序。比如,点击
https://www.google.com
可能会启动浏览器。- 文件链接
对于 Visual Studio Code 命令行中的文件链接,按住Ctrl并点击他们,Visual Studio Code 将尝试打开相关文件,比如,点击
readme.md
可能会打开当前工作目录中的文件readme.md
。如果 Visual Studio Code 发现某个文件链接指向多个文件,那么他将列出这些文件并让开发人员选择打开其中的哪一个。文件链接支持使用类似于
file:l:c
的形式来定位,其中l
表示定位至第几行,c
表示定位至第几列,比如,点击readme.md:3:2
可能会打开文件readme.md
并定位至该文件的第3
行的第2
列。- 文件夹链接
Visual Studio Code 命令行中的文件夹链接与文件链接类似,只不过按住Ctrl并点击他们,Visual Studio Code 将尝试在其资源管理器中选中该文件夹链接指向的文件夹,或尝试启动另一个新的窗口并打开该文件夹链接指向的文件夹。比如,在 Windows 中点击文件夹链接
C:\vscode
,会启动新的 Visual Studio Code 窗口并打开文件夹C:\vscode
,如果该文件夹未存在于当前的 Visual Studio Code 的资源管理器中。- 单词链接
如果 Visual Studio Code 命令行中的文本不是以上任何一种链接,那么这些文本可能会被视为单词链接,按住Ctrl并点击他们将导致 Visual Studio Code 尝试打开相关文件(如果单词链接是一个文件路径)或在工作区中搜索相关单词。如果搜索结果只有一个,那么 Visual Studio Code 会尝试打开该结果,如果搜索结果有多个,那么 Visual Studio Code 会让开发人员进行选择。与其他类型的链接不同,单词链接不会在鼠标悬停时显示下划线,除非按住了Ctrl。
单词链接可以像文件链接一样使用类似于
file:l:c
的形式来定位,其中l
表示定位至第几行,c
表示定位至第几列,比如settings.json:3:2
。
在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Open Detected Link…
或使用键盘快捷方式Ctrl+Shift+G(可能存在冲突)可以打开命令行中的链接,这相当于按住Ctrl并点击他们。如果命令行中存在多个链接,那么 Visual Studio Code 将让开发人员选择打开其中的哪一个。
在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Open Last URL link
,Visual Studio Code 将尝试打开当前命令行中的最后一个 URI/URL 链接,如果不存在任何 URI/URL 链接,则不会产生任何效果。
在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Open Last Local File Link
,Visual Studio Code 将尝试打开当前命令行中的最后一个本地文件链接,如果不存在任何本地文件链接,则不会产生任何效果。
如何禁用 Visual Studio Code 终端中的文件和文件夹链接?
由于 Visual Studio Code 终端需要使用文件系统对命令行应用(外壳程序)中的链接进行检测,通过确认文件或文件夹是否真实存在来判定其是否为有效的文件或文件夹链接,因此,启用文件和文件夹链接可能会导致一些性能上的问题,尤其是在高延迟的远程环境中。你可以将 Visual Studio Code 设置项terminal.integrated.enableFileLinks
设置为notRemote
(该设置项的默认值为on
,表示启用文件和文件夹链接),以在远程环境中禁用文件和文件夹链接,或设置为off
,以禁用文件和文件夹链接。
需要指出,在禁用文件和文件夹链接后,命令行中的链接可能会被 Visual Studio Code 终端视为单词链接,按住Ctrl并点击他们依然可能导致 Visual Studio Code 尝试打开某个文件。另外,如果你修改了 Visual Studio Code 设置项terminal.integrated.enableFileLinks
,那么修改仅对新产生的命令行应用有效。
{
// 禁止远程环境中的文件链接
"terminal.integrated.enableFileLinks": "notRemote",
}
如何为 Visual Studio Code 终端中的单词链接设置分隔符?
Visual Studio Code 设置项terminal.integrated.wordSeparators
可作为单词链接的分隔符,该设置项的默认值为 ()[]{}',"`─‘’“”|
。分隔符将作为单词链接的边界,以区分命令行应用中的不同单词链接,分隔符本身不会作为单词链接的一部分,比如(hello)world,vscode
包含了三个单词链接hello
,world
以及vscode
。
{
// 设置单词分隔符
"terminal.integrated.wordSeparators": " (),",
}
更改 Visual Studio Code 终端的名称,图标,颜色
当你在 Visual Studio Code 终端面板中启动了多个命令行应用(外壳程序)时,这些命令行应用的名称和图标可能相同,区分他们会比较困难。此时,可通过选择上下文菜单项重命名…,更改图标…,更改颜色…来修改命令行应用的名称,图标以及图标的颜色。
当然,在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Change Icon…
,Terminal: Change Color…
可以实现相同的效果。
配置文件,外观和样式
如果希望使用 Visual Studio Code 终端配置文件来修改命令行应用的名称,图标以及图标颜色,你可以查看设置 Visual Studio Code 终端的名称,图标,颜色一段。如果希望指定命令行应用的默认名称,说明,图标和图标颜色,你可以查看自定义 Visual Studio Code 终端选项卡的默认名称,说明,图标,颜色一段。
移动 Visual Studio Code 终端
Visual Studio Code 终端面板中的命令行应用(外壳程序)拥有对应的图标和名称,使用鼠标拖放图标或名称,可以使命令行应用在 Visual Studio Code 终端面板与 Visual Studio Code 编辑器区域之间移动,或使命令行应用独立成为一个新的窗口(拖放至 Visual Studio Code 窗口之外),或改变命令行应用之间的顺序(如果是拆分的命令行,则所有相关命令行将作为一个整体被移动)。
此外,通过选择命令行应用的上下文菜单项将终端移动到编辑器区域中,将终端移动到新窗口,将终端移动到面板中,或在 Visual Studio Code 的命令面板中输入并执行命令Terminal: Move Terminal into Editor Area
,Terminal: Move Terminal into New Window
可以达成相同的目标。
拆分和取消拆分 Visual Studio Code 终端
如果你希望更方便的对比命令行中的输出结果,那么可以拆分 Visual Studio Code 终端,这相当于启动一个新的命令行应用(外壳程序),新的命令行显示在原有命令行的右边,并与其组成一个命令行组。
要拆分 Visual Studio Code 终端,可以点击命令行对应的图标和名称旁边的拆分按钮(如果 Visual Studio Code 终端面板包含了多个命令行,那么需要将鼠标悬停在命令行的图标或名称上),或按住Alt键并点击出现的拆分按钮,或选择某个命令行对应的上下文菜单项拆分终端,或点击 Visual Studio Code 终端面板右上角的加号按钮旁边的箭头按钮,然后选择菜单项拆分终端,或在终端面板中拖放命令行对应的图标和名称,或在活动的命令行应用中使用键盘快捷方式Ctrl+Shift+5,或在 Visual Studio Code 命令面板中输入并执行命令Terminal: Split Terminal
。
要取消拆分 Visual Studio Code 终端,可以选择命令行对应的上下文菜单项取消拆分终端,或在 Visual Studio Code 命令面板中输入并执行命令Terminal: Unsplit Terminal
。
如何在拆分 Visual Studio Code 终端时设置新终端的当前工作目录?
在拆分 Visual Studio Code 终端时,会产生一个新的命令行应用(外壳程序),通过 Visual Studio Code 设置项terminal.integrated.splitCwd
,可以设置新命令行的当前工作目录,该设置项拥有以下有效值。
inherited
是 Visual Studio Code 设置项terminal.integrated.splitCwd
的默认值,他表示新命令行的当前工作目录与原有命令行的当前工作目录相同。initial
表示新命令行的当前工作目录与原有命令行的初始工作目录(命令行启动时的当前工作目录)相同。workspaceRoot
表示新命令行的当前工作目录为 Visual Studio Code 工作区的根目录,如果根目录有多个,则需要进行选择。
关于命令行应用的当前工作目录,请查看终端的当前工作目录一段。
{
// 新的命令行应用的当前工作目录为工作区的根目录
"terminal.integrated.splitCwd": "workspaceRoot",
}
如何在已拆分的 Visual Studio Code 终端之间导航?
当任意被拆分的命令行处于活动状态时,可以使用键盘快捷方式Alt+LeftArrow或Alt+RightArrow在命令行组的相关命令行之间导航。
终止 Visual Studio Code 终端
如果 Visual Studio Code 终端启动了过多的命令行应用(外壳程序),则可以点击其对应的终止(垃圾桶)按钮,或其对应的上下文菜单项终止终端,来终止命令行应用。终止按钮一般位于终端面板的右上角,如果终端面板包含多个命令行,那么终止按钮将位于终端面板的右边区域,当鼠标悬停时会出现,此时,对于选中并处于活动状态的命令行应用,按下Delete键也可以将其终止。
此外,在 Visual Studio Code 命令面板中输入并执行命令Terminal: Kill the Active Terminal Instance
,可以终止终端面板中当前活动的命令行应用(对 Visual Studio Code 编辑器区域中的命令行应用无效),输入并执行命令Terminal: Kill the Active Terminal in Editor Area
,可以终止 Visual Studio Code 编辑器区域中当前活动的命令行应用,输入并执行命令Terminal: Kill All Terminals
,可以终止 Visual Studio Code 中所有的命令行应用。
终止 Visual Studio Code 终端与隐藏 Visual Studio Code 终端的区别
使用键盘快捷方式Ctrl+`或执行命令View: Toggle Terminal
隐藏 Visual Studio Code 终端并不会终止命令行应用(外壳程序),命令行中正在执行的命令也将继续执行。