ctrl+shift+l指定选择 vscode_VS Code(终端)

本文详细介绍了VS Code中终端的使用和设置。包括打开、管理、拆分终端的方法,如使用快捷键Ctrl +`等;还说明了终端的组态,如默认外壳设置、传递参数等;此外,介绍了预定义变量、显示设置、键绑定等内容,以及运行文本、重命名会话等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cf3ca18f5d813198d6b83d69b66d2176.png

键盘快捷键:Ctrl +`(Esc下面得按键)

64b11e59315c6d317f60954381972bc0.png

Ctrl+Shift+P -> term

220bccc54b572e5f74688f6c5545176e.png

打开外部终端

b6d8e39b474fa219061f37ccd51d6f55.png

拆分终端

要打开终端:

  • 将Ctrl +`键盘快捷键与反引号一起使用。

  • 使用查看 > 终端菜单命令。

  • 在命令面板(Ctrl + Shift + P)中,使用“ 查看:切换集成终端”命令。

f23124ade05d314d7f9de355361b5ed5.png

注意:如果您想在VS Code之外工作,仍可以使用Ctrl + Shift + C键盘快捷键打开外壳。

管理多个终端

您可以创建多个打开到不同位置的终端,并在它们之间轻松导航。可以通过单击TERMINAL面板右上角的加号图标或触发Ctrl + Shift +`命令来添加终端实例。此操作将在下拉列表中创建另一个条目,可用于在它们之间进行切换。

5a76c3f843b4a402024e77b1478d3646.png

增加N个新得终端

按下垃圾桶按钮删除终端实例。

79e31edbc4c8787920268e3ded4a9c63.png

提示:如果您使用多个终端的广泛应用,你可以添加键绑定的focusNextfocusPrevious并且kill在列出的命令键绑定部分仅使用键盘,让他们之间的导航。

端子分割

您也可以通过触发Ctrl + Shift + 5命令或通过右键单击上下文菜单来拆分终端。

9dd54cd90929f41df7ab1ec30670087d.png

8e495a814054f2c521bca47db1ea71db.png

聚焦拆分的终端窗格时,可以使用以下命令之一移动焦点并调整大小:

命令
Alt +左聚焦上一个窗格
Alt +右聚焦下一个窗格
未分配调整左窗格的大小
未分配调整右窗格大小
未分配调整窗格大小
未分配调整窗格大小

组态

使用的外壳默认$SHELL在Linux和macOS上使用,在Windows 10上使用PowerShell,在Windows早期版本上使用cmd.exe。可以通过terminal.integrated.shell.*

6b810194acccd80173ab233e09417a19.png

390e9337df9f128690af32e7ac623768.png

默认是powershell,可以更改别的shell

在用户设置中进行设置来手动覆盖这些设置。可以使用terminal.integrated.shellArgs.*用户设置将参数传递到终端外壳。

注意:这些设置在工作空间范围内不会自动起作用,您必须将工作空间列入白名单以允许使用Terminal: Manage Workspace Shell Permissions命令设置您的shell,shell args及其环境。

69f31082032fbebe024620946759ed04.png

2e97c81410b94527e0ea18398f8fa6ae.png

视窗

对于Windows,在终端下拉列表中有一个方便的shell选择器,使您可以在几个检测到的shell之间进行选择,包括Command Prompt,PowerShell,PowerShell Core,Git Bash和WSL Bash。如果您希望在其中访问“ 终端:选择默认外壳程序”命令,也可以通过“命令面板”使用。

就像在其他平台上一样,您可以微调设置文件中使用的确切可执行文件,例如:

// Command Prompt
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe"
// PowerShell
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe"
// Git Bash
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe"
// Bash on Ubuntu (on Windows)
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\bash.exe"

注意:要用作集成终端,shell可执行文件必须是控制台应用程序,以便stdin/stdout/stderr可以重定向。

提示:集成终端外壳在VS Code的许可下运行。如果需要以提升的(管理员)权限或其他权限运行shell命令,则可以runas.exe在终端中使用平台实用程序。

499754d09952819c2680f9024fdf1bf9.png

runas.exe

Shell参数

您可以在启动外壳程序时将参数传递给外壳程序。

例如,要启用运行bash作为登录shell(运行.bash_profile),请传入-l参数(带双引号):

// Linux
"terminal.integrated.shellArgs.linux": ["-l"]

使用变量

shellshellArgsenv,和cwd终端设置的所有支持解决变量:

// Open the terminal in the currently opened file's directory
"terminal.integrated.cwd": "${fileDirname}"

69a1c97be632b1809eaab45d190d6b72.png

844552a78ff602954fa54938fefbec6a.png

4781b1ada3ba6ac4893e0f5b9624d2e2.png

预定义变量

支持以下预定义变量:

  • $ {workspaceFolder} -在VS Code中打开的文件夹的路径

  • $ {workspaceFolderBasename} -在VS Code中打开的文件夹名称,不带任何斜杠(/)

  • $ {file} -当前打开的文件

  • $ {relativeFile} -当前相对于打开的文件workspaceFolder

  • $ {relativeFileDirname} -当前打开的文件相对于的目录名workspaceFolder

  • $ {fileBasename} -当前打开的文件的基本名称

  • $ {fileBasenameNoExtension} -当前打开的文件的基本名称,没有文件扩展名

  • $ {fileDirname} -当前打开的文件的目录名

  • $ {fileExtname} -当前打开的文件的扩展名

  • $ {cwd} -启动时任务运行器的当前工作目录

  • $ {lineNumber} -活动文件中当前选择的行号

  • $ {selectedText} -活动文件中的当前选定文本

  • $ {execPath} -正在运行的VS Code可执行文件的路径

  • $ {defaultBuildTask} -默认构建任务的名称

预定义变量示例

假设您具有以下要求:

  1. 位于/home/your-username/your-project/folder/file.ext您的编辑器中打开的文件;

  2. 该目录/home/your-username/your-project将作为您的根工作空间打开。

因此,每个变量将具有以下值:

  • $ {workspaceFolder} -/home/your-username/your-project

  • $ {workspaceFolderBasename} -your-project

  • $ {file} -/home/your-username/your-project/folder/file.ext

  • $ {relativeFile} -folder/file.ext

  • $ {relativeFileDirname} -folder

  • $ {fileBasename} -file.ext

  • $ {fileBasenameNoExtension} -file

  • $ {fileDirname} -/home/your-username/your-project/folder

  • $ {fileExtname} -.ext

  • $ {lineNumber} -光标的行号

  • $ {selectedText} -在代码编辑器中选择的文本

  • $ {execPath} -Code.exe的位置

提示:对于使用智能感知内部的字符串值tasks.json,并launch.json获得预定义变量的完整列表。

终端显示设置

您可以使用以下设置来自定义终端的集成字体和行高:

  • terminal.integrated.fontFamily

  • terminal.integrated.fontSize

  • terminal.integrated.fontWeight

  • terminal.integrated.fontWeightBold

  • terminal.integrated.lineHeight

  • ea7d858bd22d9eb77b7e4a34dbcf9e6f.png

  • 5acd6c0798c7b2199e2d199f431b89cd.png

bcdac9263bd0a91f5db85d6874ecaf97.png

a91a9353f235b1da6e80e2c285f8bb80.png

4cf79098b7735541ca7ebb4603795ff7.png

终端键绑定

“ 视图:切换集成终端”命令绑定到Ctrl +`,可以快速切换集成终端面板的视图范围。

以下是可在集成终端中快速导航的键盘快捷键:

命令
Ctrl +`显示集成终端
Ctrl + Shift +`创建新终端
Ctrl + Alt + PageUp向上滚动
Ctrl + Alt + PageDown向下滚动
Shift + PageUp向上滚动页面
Shift + PageDown向下滚动页面
Ctrl + Home滚动到顶部
Ctrl +结束滚动到底部
未分配清除终端

其他终端命令可用,并且可以绑定到您喜欢的键盘快捷键,例如:

  • workbench.action.terminal.focus:聚焦终端。这类似于切换,但是如果可见,则将终端聚焦而不是隐藏终端。

  • workbench.action.terminal.focusNext:聚焦下一个终端实例。

  • workbench.action.terminal.focusPrevious:聚焦上一个终端实例。

  • workbench.action.terminal.focusAtIndexN:将终端对准索引N(N = 1-9)

  • workbench.action.terminal.kill:删除当前的终端实例。

  • workbench.action.terminal.runSelectedText:在终端实例中运行选定的文本。

  • workbench.action.terminal.runActiveFile:在终端实例中运行活动文件。

e66bb0bd378f5e3869a38d73c1e63b6e.png

复制粘贴

复制和粘贴的键绑定遵循平台标准:

  • Linux:Ctrl + Shift + C和Ctrl + Shift + V

  • macOS:Cmd + C和Cmd + V

  • Windows:Ctrl + C和Ctrl + V

右键点击行为

右键单击行为因平台而异:

  • Linux:显示上下文菜单。

  • macOS:选择光标下的单词并显示上下文菜单。

  • Windows:如果有选择,则复制并拖放选择,否则粘贴。

可以使用terminal.integrated.rightClickBehavior设置进行配置。

857fdf3e3d442983be88fc5c05e85411.png

强制键绑定通过终端

当焦点集中在集成终端中时,由于击键被传递到终端本身并由终端自身使用,因此许多键绑定将不起作用。有一个硬编码的命令列表,这些命令跳过了外壳程序的处理,而是发送到VS Code绑定系统。您可以使用terminal.integrated.commandsToSkipShell设置来自定义此列表。通过将命令名称添加到列表中,可以将命令添加到此列表中,而通过将命令名称添加到前缀为的列表中,可以删除命令-

{
"terminal.integrated.commandsToSkipShell": [
// Ensure the toggle sidebar visibility keybinding skips the shell
"workbench.action.toggleSidebarVisibility",
// Send quick open's keybinding to the shell
"-workbench.action.quickOpen",
]
}

查看设置详细信息以查看默认命令的完整列表。

终端中的和弦键绑定

默认情况下,当和弦快捷键是最高优先级的快捷键时,它将始终跳过终端外壳(绕过terminal.integrated.commandsToSkipShell),并由VS Code而不是终端进行评估。除非您在Windows / Linux上并且希望您的外壳使用ctrl + k(对于bash,这会在光标后剪切行),否则通常这是所需的行为。可以使用以下设置禁用此设置:

{
"terminal.integrated.allowChords": false
}

集成终端具有基本的查找功能,可以通过unassigned触发。

如果要让Ctrl + F转到外壳程序而不是在Linux和Windows上启动“查找”小部件,则需要删除键绑定,如下所示:

// Windows/Linux
{ "key": "ctrl+f", "command": "-workbench.action.terminal.focusFindWidget",
"when": "terminalFocus" },
// macOS
{ "key": "cmd+f", "command": "-workbench.action.terminal.focusFindWidget",
"when": "terminalFocus" },

运行选定的文本

要使用该runSelectedText命令,请在编辑器中选择文本,然后运行命令Terminal:通过命令面板(Ctrl + Shift + P)在Active Terminal中运行选定的文本:

d8c2f06d9c572997974913fed16fb3e6.png

3658738658e5d569c3696bc5187437b2.png

e01bf6dd0b41fc0f3250c115fb3b96fe.png

终端将尝试运行所选文本。

81a388dcc98dc9b44f8a261e3584dcd0.png

如果在活动编辑器中未选择任何文本,则光标所在的行将在终端中运行。

发送来自绑定的文本

workbench.action.terminal.sendSequence命令可用于向终端发送特定的文本序列,包括转义序列。这使诸如发送箭头键,输入,光标移动等操作成为可能。下面的示例显示了使用此功能可以实现的功能,它会跳过光标左侧的单词(Ctrl +向左键)并按退格键:

{
"key": "ctrl+u",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[1;5D\u007f" }
}

此功能支持变量替换。

请注意,该命令仅适用于\u0000通过字符代码使用字符的格式(不适用于\x00)。

重命名终端会话

50eda7a4be90b950624f77154ad9ebc3.png

输入命令

d95487ce0628c495c55f67e14d1f6be4.png

更改成功

现在可以使用Terminal:Rename(workbench.action.terminal.rename)命令重命名 Integrated Terminal会话。新名称将显示在终端选择下拉列表中。

在特定文件夹中打开

默认情况下,终端将在资源管理器中打开的文件夹中打开。该terminal.integrated.cwd设置允许指定自定义路径打开:

006ce3f905e7e268d1f4f30dd99d9004.png

{
"terminal.integrated.cwd": "/home/user"
}

Windows上的拆分终端将在父终端开始的目录中启动。在macOS和Linux上,拆分终端将继承父终端的当前工作目录。可以使用以下terminal.integrated.splitCwd设置更改此行为:

d6dd3c7ba9add92316fcc1ba31bbc0f5.png

{
"terminal.integrated.splitCwd": "workspaceRoot"
}

还有一些扩展可以提供更多选项,例如Terminal Here(此处是一个插件)

7ea4614c7ea6f715bc67bb2dc5c22d28.png

c7dcef0d785531645733075c6edc9719.png

更改任务和调试的外壳

您可以设置terminal.integrated.automationShell.为覆盖任务和调试使用的shell和shell args:

01e6399475bab060c915bce127958725.png

{
"terminal.integrated.shell.osx": "/usr/local/bin/fish",
// Use a fully POSIX-compatible shell and avoid running a complex ~/.fishrc
// for tasks and debug
"terminal.integrated.automationShell.osx": "/bin/sh"
}

更改终端的渲染方式

默认情况下,集成终端将使用多个元素进行渲染,这些元素比DOM更好地进行了调整,以渲染经常更改的交互式文本。但是,Electron / Chromium在某些环境下渲染到画布的速度较慢,因此VS Code还提供了后备DOM渲染器体验。VS Code会尝试检测性能降低的情况,并为您提供通过通知进行更改的选项。您还可以通过terminal.integrated.rendererType在用户或工作空间设置中进行设置来直接更改渲染。

1005968dac0ea732eed2985a43faed67.png

{
"terminal.integrated.rendererType": "dom"
}

可能会提高性能的其他方法是,通过使用启动VS Code来忽略Chromium的GPU禁止列表code --ignore-gpu-blacklist

有一个基于WebGL的实验性渲染器也可以启用:

{
"terminal.integrated.rendererType": "experimentalWebgl"
}

终端得知识远比这多,我实在是不想写了,有空我继续写.

a52a2caa83452cd9561b8011e68a2270.png

<think>好的,用户的问题是关于如何在Visual Studio Code中通过快捷键Ctrl+Shift+B自动生成tasks.json编译配置文件的方法及设置教程。我需要先回想一下相关的知识,并确保信息准确。 首先,我记得tasks.json文件是VSCode用来配置任务运行器的,比如编译代码的任务。用户提到的快捷键Ctrl+Shift+B通常是用来执行默认的生成任务,但前提是需要正确配置tasks.json中的group设置。根据引用[1],在tasks.json中,"group"的"isDefault": true会让任务可以通过快捷键触发,而如果设置为false,则需要通过菜单手动选择任务。 接下来,用户可能需要步骤指导。首先应该确保已经安装了C/C++插件,比如cpptools,引用[2]提到需要安装这个插件。然后,创建tasks.json文件的过程通常是通过命令面板配置任务运行器。用户可能需要手动创建.vscode文件夹,或者在已有项目中使用VSCode自动生成配置。 另外,快捷键的使用依赖于tasks.json中是否正确设置了group的isDefault属性。如果用户没有正确设置,可能无法使用快捷键触发任务。需要详细说明如何编辑tasks.json,包括设置kind为build和isDefault为true。 可能还需要提醒用户注意路径问题,确保编译器路径正确,以及任务中的args参数是否正确包含源文件和输出文件。最后,测试配置是否成功,并处理可能出现的常见问题,比如任务未显示或编译错误。 总结步骤应该是:安装插件、配置任务、设置快捷键、测试运行。需要引用提供的参考资料,特别是引用[1]中的group设置部分,以及引用[2]中关于安装cpptools的步骤。同时,保持回答结构清晰,分点说明,便于用户跟随操作。</think>在 Visual Studio Code 中通过快捷键 `Ctrl+Shift+B` 生成 `tasks.json` 编译配置文件的步骤如下: ### 一、前置条件 1. **安装 C/C++ 扩展** 打开 VSCode,按 `Ctrl+Shift+P` 调出命令面板,输入 `ext install cpptools` 安装官方 C/C++ 扩展[^2]。 2. **确认编译器路径** 确保系统已安装 GCC/G++ 或 Clang 编译器,并通过终端验证命令 `g++ --version`。 --- ### 二、生成 tasks.json 1. **自动生成配置** - 打开 C/C++ 项目文件夹 - 按 `Ctrl+Shift+B`,若首次使用会提示 **“未找到生成任务”** - 选择 **“配置生成任务”** → **“使用模板创建 tasks.json”** → **“Others”** 2. **手动创建配置(备用)** 若未自动生成,可在项目根目录新建 `.vscode` 文件夹,手动创建 `tasks.json` 文件并粘贴以下内容: ```json { "version": "2.0.0", "tasks": [ { "label": "C/C++ Build", "type": "shell", "command": "g++", "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"], "group": { "kind": "build", "isDefault": true // 关键设置:允许通过 Ctrl+Shift+B 触发任务[^1] }, "problemMatcher": ["$gcc"] } ] } ``` --- ### 三、关键配置说明 | 字段 | 作用 | |---------------|--------------------------------------------------------------------| | `"kind": "build"` | 将任务归类为“构建”类型,与快捷键绑定直接关联 | | `"isDefault": true` | 设为默认任务,使 `Ctrl+Shift+B` 直接执行该任务(若为 `false` 需手动选择任务) | | `"args"` | 编译参数,例如 `-std=c++11` 可添加 C++11 标准支持 | --- ### 四、验证与使用 1. 打开任意 `.cpp` 文件,按 `Ctrl+Shift+B` 触发编译 2. 成功编译后会在文件同级目录生成可执行文件(无扩展名) 3. 终端输入 `./文件名` 运行程序 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值