键盘快捷键:Ctrl +`(Esc下面得按键) Ctrl+Shift+P -> term 打开外部终端 拆分终端 要打开终端: 注意:如果您想在VS Code之外工作,仍可以使用Ctrl + Shift + C键盘快捷键打开外壳。
管理多个终端您可以创建多个打开到不同位置的终端,并在它们之间轻松导航。可以通过单击TERMINAL面板右上角的加号图标或触发Ctrl + Shift +`命令来添加终端实例。此操作将在下拉列表中创建另一个条目,可用于在它们之间进行切换。 增加N个新得终端 按下垃圾桶按钮删除终端实例。 提示:如果您使用多个终端的广泛应用,你可以添加键绑定的focusNext ,focusPrevious 并且kill 在列出的命令键绑定部分仅使用键盘,让他们之间的导航。
端子分割您也可以通过触发Ctrl + Shift + 5命令或通过右键单击上下文菜单来拆分终端。 聚焦拆分的终端窗格时,可以使用以下命令之一移动焦点并调整大小:
键 | 命令 |
---|
Alt +左 | 聚焦上一个窗格 | Alt +右 | 聚焦下一个窗格 | 未分配 | 调整左窗格的大小 | 未分配 | 调整右窗格大小 | 未分配 | 调整窗格大小 | 未分配 | 调整窗格大小 |
组态使用的外壳默认$SHELL 在Linux和macOS上使用,在Windows 10上使用PowerShell,在Windows早期版本上使用cmd.exe。可以通过terminal.integrated.shell.* 默认是powershell,可以更改别的shell 在用户设置中进行设置来手动覆盖这些设置。可以使用terminal.integrated.shellArgs.* 用户设置将参数传递到终端外壳。
注意:这些设置在工作空间范围内不会自动起作用,您必须将工作空间列入白名单以允许使用Terminal: Manage Workspace Shell Permissions 命令设置您的shell,shell args及其环境。
视窗
对于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 在终端中使用平台实用程序。 runas.exe
Shell参数您可以在启动外壳程序时将参数传递给外壳程序。 例如,要启用运行bash作为登录shell(运行.bash_profile ),请传入-l 参数(带双引号): // Linux "terminal.integrated.shellArgs.linux": ["-l"] 使用变量在shell ,shellArgs ,env ,和cwd 终端设置的所有支持解决变量: // Open the terminal in the currently opened file's directory "terminal.integrated.cwd": "${fileDirname}" 预定义变量
支持以下预定义变量: $ {workspaceFolder} -在VS Code中打开的文件夹的路径 $ {workspaceFolderBasename} -在VS Code中打开的文件夹名称,不带任何斜杠(/) $ {file} -当前打开的文件 $ {relativeFile} -当前相对于打开的文件workspaceFolder $ {relativeFileDirname} -当前打开的文件相对于的目录名workspaceFolder $ {fileBasename} -当前打开的文件的基本名称 $ {fileBasenameNoExtension} -当前打开的文件的基本名称,没有文件扩展名 $ {fileDirname} -当前打开的文件的目录名 $ {fileExtname} -当前打开的文件的扩展名 $ {cwd} -启动时任务运行器的当前工作目录 $ {lineNumber} -活动文件中当前选择的行号 $ {selectedText} -活动文件中的当前选定文本 $ {execPath} -正在运行的VS Code可执行文件的路径 $ {defaultBuildTask} -默认构建任务的名称
预定义变量示例假设您具有以下要求: 位于/home/your-username/your-project/folder/file.ext 您的编辑器中打开的文件; 该目录/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
终端键绑定
“ 视图:切换集成终端”命令绑定到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 :在终端实例中运行活动文件。
复制粘贴
复制和粘贴的键绑定遵循平台标准: 右键点击行为右键单击行为因平台而异: 可以使用terminal.integrated.rightClickBehavior 设置进行配置。 强制键绑定通过终端当焦点集中在集成终端中时,由于击键被传递到终端本身并由终端自身使用,因此许多键绑定将不起作用。有一个硬编码的命令列表,这些命令跳过了外壳程序的处理,而是发送到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中运行选定的文本: 终端将尝试运行所选文本。 如果在活动编辑器中未选择任何文本,则光标所在的行将在终端中运行。 发送来自绑定的文本该workbench.action.terminal.sendSequence 命令可用于向终端发送特定的文本序列,包括转义序列。这使诸如发送箭头键,输入,光标移动等操作成为可能。下面的示例显示了使用此功能可以实现的功能,它会跳过光标左侧的单词(Ctrl +向左键)并按退格键: { "key": "ctrl+u", "command": "workbench.action.terminal.sendSequence", "args": { "text": "\u001b[1;5D\u007f" } } 此功能支持变量替换。 请注意,该命令仅适用于\u0000 通过字符代码使用字符的格式(不适用于\x00 )。
重命名终端会话 输入命令
更改成功
现在可以使用Terminal:Rename(workbench.action.terminal.rename )命令重命名 Integrated Terminal会话。新名称将显示在终端选择下拉列表中。 在特定文件夹中打开默认情况下,终端将在资源管理器中打开的文件夹中打开。该terminal.integrated.cwd 设置允许指定自定义路径打开: { "terminal.integrated.cwd": "/home/user" } Windows上的拆分终端将在父终端开始的目录中启动。在macOS和Linux上,拆分终端将继承父终端的当前工作目录。可以使用以下terminal.integrated.splitCwd 设置更改此行为: { "terminal.integrated.splitCwd": "workspaceRoot" } 还有一些扩展可以提供更多选项,例如Terminal Here(此处是一个插件) 更改任务和调试的外壳
您可以设置terminal.integrated.automationShell.<platform> 为覆盖任务和调试使用的shell和shell args: { "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" } 更改终端的渲染方式默认情况下,集成终端将使用多个<canvas> 元素进行渲染,这些元素比DOM更好地进行了调整,以渲染经常更改的交互式文本。但是,Electron / Chromium在某些环境下渲染到画布的速度较慢,因此VS Code还提供了后备DOM渲染器体验。VS Code会尝试检测性能降低的情况,并为您提供通过通知进行更改的选项。您还可以通过terminal.integrated.rendererType 在用户或工作空间设置中进行设置来直接更改渲染。 { "terminal.integrated.rendererType": "dom" } 可能会提高性能的其他方法是,通过使用启动VS Code来忽略Chromium的GPU禁止列表code --ignore-gpu-blacklist 。 有一个基于WebGL的实验性渲染器也可以启用: { "terminal.integrated.rendererType": "experimentalWebgl" } 终端得知识远比这多,我实在是不想写了,有空我继续写.
|