如何阻止VS Code用后续打开的文件替换新打开的未修改(预览)标签页

如何阻止VS Code用后续打开的文件替换新打开的未修改(预览)标签页

技术背景

在Visual Studio Code中,当你在左侧侧边栏的文件浏览器中单击文件,或者通过快速打开菜单(Ctrl - P,输入文件名,然后按Enter)打开文件时,文件会以“预览模式”打开。预览模式允许你快速查看文件,但预览模式的标签页不会保持打开状态。当你从侧边栏打开另一个文件时,现有的预览模式标签页(如果存在)会被使用。

实现步骤

方法一:禁用预览模式

  1. 打开设置文件:你可以使用命令面板(快捷键Ctrl + Shift + P),输入“Preferences: Open User Settings”来打开设置文件。不同操作系统的设置文件位置如下:
    • Windows: %APPDATA%\Code\User\settings.json
    • macOS: $HOME/Library/Application Support/Code/User/settings.json
    • Linux: $HOME/.config/Code/User/settings.json
  2. 添加配置:在设置文件中添加如下配置:
1
2
3
4
{
"workbench.editor.enablePreview": false,
"workbench.editor.enablePreviewFromQuickOpen": false
}

workbench.editor.enablePreview用于全局启用或禁用预览编辑器,workbench.editor.enablePreviewFromQuickOpen用于启用或禁用从快速打开菜单打开文件时的预览编辑器。

方法二:将特定标签页保持打开

如果你不想完全禁用预览模式,可以将特定的标签页从预览模式中移除。

  • 右键操作:右键单击标签页,选择“Keep Open”。
  • 快捷键操作:使用快捷键Cmd + K然后按Enter(该快捷键映射到命令workbench.action.keepEditor)。
  • 双击操作:双击标签页也可以将其从预览模式中移除(在VS Code 1.44.0中验证有效)。

方法三:通过图形界面操作

  • 打开设置(File -> Preferences -> Settings)。
  • 在搜索字段中输入“Preview”。
  • 找到“Enable preview”和“Enable preview from Quick Open”选项并取消勾选。

核心代码

以下是禁用预览模式的核心代码示例:

1
2
3
4
5
{
"workbench.editor.enablePreview": false,
"workbench.editor.enablePreviewFromQuickOpen": false,
"workbench.editor.showTabs": true
}

workbench.editor.showTabs设置为true可确保标签页显示,否则可能会影响前两个设置的效果。

最佳实践

  • 如果你经常需要查看多个文件且希望每个文件都能独立打开,建议全局禁用预览模式,即设置workbench.editor.enablePreview: false
  • 如果你只是希望在使用快速打开菜单时不使用预览模式,可以只设置workbench.editor.enablePreviewFromQuickOpen: false
  • 对于偶尔需要预览文件内容的情况,可以在打开文件后使用上述方法将其从预览模式中移除。

常见问题

标签页未显示

如果设置了禁用预览模式但标签页未显示,可能是workbench.editor.showTabs设置为false,需要将其设置为true

特定版本VS Code设置位置不同

例如VS 2022,File > Preferences不存在,可通过Tools > Options > expand Environment > select Tabs and Windows,然后取消勾选“Allow new files to be opened in the preview tab”来禁用预览标签页。


如何阻止VS Code用后续打开的文件替换新打开的未修改(预览)标签页
https://119291.xyz/posts/how-to-prevent-vscode-preview-tab-replacement/
作者
ww
发布于
2025年5月22日
许可协议