Imo*_*dia 4 terminal powershell visual-studio-code
在 VSCode 中是否可以在单独的窗口中打开终端?到目前为止,我的研究指出一个响亮的“否”,但我很好奇是否有人有解决方案?
Mar*_*ark 43
在明天发布的 Insiders v1.86 中,您可以使用新命令将终端移动到新的(浮动)窗口:
// Move Terminal into New Window
workbench.action.terminal.moveIntoNewWindow
Run Code Online (Sandbox Code Playgroud)
有关这些浮动窗口的更多信息,请参阅/sf/answers/5406332291/
从Insiders v1.84 开始,您还可以在单独的窗口中打开编辑器。运行这个命令:
View: Move Active Editor into a New Window
Run Code Online (Sandbox Code Playgroud)
因此,如果编辑器中有终端,则可以将该编辑器(即包含终端)移动到新的单独窗口。我相信最终目标是能够将面板中的终端等移动到新窗口,但这还行不通。
考虑这个键绑定,它将当前终端实例移动到编辑器,然后移动到新窗口(首先没有明显的视觉移动到编辑器)。
// Move Terminal into New Window
workbench.action.terminal.moveIntoNewWindow
Run Code Online (Sandbox Code Playgroud)
演示:
请注意,新窗口终端链接到旧窗口,就像在演示中一样,我在新窗口终端中从旧窗口打印出编辑器文件名
在窗口之间移动终端
现在可以通过
Terminal: Detach Session在一个窗口中分离 via 并使用 附加到另一个 窗口来在窗口之间移动终端Terminal: Attach to Session。将来这应该有助于实现跨窗口拖放!
v1.58 中有很多变化:https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_58.md#terminals-in-the-editor-area
对于 v1.59 移动终端更改 - 包括拖放到另一个窗口,请参阅https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_59.md#drag-and-drop-跨窗口终端
在窗口之间拖放终端
将终端从一个窗口的选项卡列表或编辑器区域拖到另一窗口的选项卡列表、编辑器区域或面板中。
现在可以在编辑器区域中创建终端或将其移动到编辑器区域,从而实现多维网格布局,无论面板状态如何,该布局都会持续并保持可见。
要在编辑器区域使用终端,有多种选择:
通过“在编辑器区域中创建终端”命令创建。
通过从选项卡列表中拖放,将终端从面板移动到编辑器。
运行“将终端移动到编辑器区域”,并聚焦于终端。
通过终端选项卡上下文菜单操作进入编辑器区域。
新terminal.integrated.defaultLocation设置可以设置为编辑器,以默认将新创建的终端定向到编辑器区域。
blu*_*ray 19
请尝试:
File > Open New WindowTerminal: Create New Terminal in Editor Area您可以在方便时将键绑定添加到命令中。
小智 16
我认为OP想要为终端创建一个单独的窗口,但仍然将单独的终端链接到原始窗口中的代码编辑器(这也是我想要的)。这样,当您在编辑器中运行代码时,输出将显示在单独窗口的终端中。但是,如果您只是打开一个新的 vscode 窗口,然后在其中打开一个终端,或者将终端从原始窗口拖放到新窗口中,则新终端与终端不是同一个会话。它是一个单独的独立未连接终端。在编辑器中运行代码不会在新的单独终端中显示输出。您所实现的只是创建一个新的未连接终端。您可以通过打开一个常规终端窗口(即 Windows 操作系统主菜单中的终端窗口)来完成此操作,甚至不需要使用 vscode。
您想要这样做的原因之一是让 Python 终端位于第二台显示器上,同时仍然能够交互地使用 Python(shift+enter方式)。连接/分离对我来说不起作用,也不能打开单独的终端。
您所能做的就是简单地跨屏幕边框调整一个窗口的大小!然后右键单击终端选项卡/标题,然后单击Move panel to the left瞧!
您无法在 VSCode 中分离窗格,这让 IMO 有点痛苦,因为 Visual Studio 可以整天分离窗格。
不过有一个解决方法,您可以在 VSCode 中打开一个新窗口并最大化该窗口中的终端窗格。

您可以使用终端选项卡上下文菜单中的“将终端移至新窗口”上下文菜单操作,或命令选项板Terminal: Move Terminal into New Window中的命令(您可以使用其命令 ID 为其创建键盘快捷键)。添加此内容的相关 PR 是“将终端添加到新窗口”操作/菜单项 #201325workbench.action.terminal.moveIntoNewWindow
终端已经可以拖到编辑器区域中,但是现在辅助窗口/浮动编辑器窗口已经成为一个东西,您可以将它们拖到辅助窗口的编辑器区域中(辅助窗口尚不支持面板)。
您可以编写键盘快捷键来在编辑器区域中创建一个新终端,然后将该编辑器移动到一个新的独立窗口,并且当现有窗口已经获得焦点时不创建新终端,而只需移动焦点窗口,将其放入您的 keybindings.json,您可以通过Preferences: Open Keyboard Shortcuts (JSON)在命令面板中运行来打开它:
{
"key": "", // TODO
"command": "runCommands",
"args": {
"commands": [
"workbench.action.createTerminalEditor",
"workbench.action.moveEditorToNewWindow",
],
},
"when": "!isAuxiliaryWindowFocusedContext && !terminalFocus && !terminalEditorFocus", // !terminalIsOpen
},
{
"key": "", // TODO
"command": "workbench.action.moveEditorToNewWindow",
"when": "!isAuxiliaryWindowFocusedContext && terminalEditorFocus"
},
Run Code Online (Sandbox Code Playgroud)
我还尝试处理现有终端集中在终端面板中时的情况,但它不起作用(可能是由于与时间相关的问题),但如果您感兴趣的话,这里是:
{
"key": "", // TODO
"command": "runCommands",
"args": {
"commands": [
"workbench.action.terminal.moveToEditor",
"workbench.action.moveEditorToNewWindow",
],
},
"when": "!isAuxiliaryWindowFocusedContext && terminalFocus"
},
Run Code Online (Sandbox Code Playgroud)
请注意,它workbench.action.moveEditorToNewWindow之前被调用过workbench.action.moveEditorToNewDetachedWindow(我认为它仍在 VS Code Insiders 中并且尚未发布到稳定版本)。
您所要求的理想情况是通过两个仍处于开放状态(未实现)的问题票来跟踪的:
允许浮动窗口#10121(涵盖所有面板的更普遍的请求)
您可以对这些问题票证竖起大拇指,以表示对它们实施的支持,并订阅它们以获取有关讨论和更新的通知。但请不要发表“我也是”的评论。“我也是”的评论通常会让回购维护者感到厌烦,因为它们扰乱了讨论并且没有贡献任何重要的价值。
至于解决方法,您可以创建一个新的空 VS Code 窗口(没有工作区文件夹),然后将终端从预先存在的窗口拖到该窗口中。您还可以从一个 VS Code 窗口中分离会话,然后将其重新附加到另一个窗口中(分别使用命令选项板中的Terminal: Detach Session和命令)。Terminal: Attach to Session另请参阅用户文档。
| 归档时间: |
|
| 查看次数: |
3954 次 |
| 最近记录: |