VS Code(终端)
键盘快捷键:Ctrl +`(Esc下面得按键)
Ctrl+Shift+P -> term
打开外部终端
拆分终端要打开终端:将Ctrl +`键盘快捷键与反引号一起使用。使用查看 > 终端菜单命令。在命令面板(Ctrl + Shift + P)中,使用“ 查看:切换集成终端”命令。
注意:如果您想在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.exeShell参数您可以在启动外壳程序时将参数传递给外壳程序。例如,要启用运行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.fontFamilyterminal.integrated.fontSizeterminal.integrated.fontWeightterminal.integrated.fontWeightBoldterminal.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:在终端实例中运行活动文件。
复制粘贴复制和粘贴的键绑定遵循平台标准:Linux:Ctrl + Shift + C和Ctrl + Shift + VmacOS:Cmd + C和Cmd + VWindows:Ctrl + C和Ctrl + V右键点击行为右键单击行为因平台而异:Linux:显示上下文菜单。macOS:选择光标下的单词并显示上下文菜单。Windows:如果有选择,则复制并拖放选择,否则粘贴。可以使用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"}终端得知识远比这多,我实在是不想写了,有空我继续写.