在Visual Studio Code中在标题栏中显示项目文件夹

140

是否可以在标题栏中显示最后一个文件夹?如果您打开多个VS Code实例,从任务栏上区分它们是困难的。 如果两个实例都打开了名为“main.ts”的文件,则在任务栏项中将看到“main.ts”。

目前,标题将是[filename open] - [folder open] (例如main.ts - angular2-training)。 是否可以反转它们变成[folder open] - [filename open](例如angular2-training - main.ts )?


有一个名为“ColorTabs”的VSCode扩展程序,可以根据正则表达式更改活动选项卡和/或标题背景的颜色,并在标题栏中添加标签。这对于具有许多子项目的大型工作区或monorepos非常有帮助。免责声明-我编写了该扩展程序。你可以在市场上找到它。 - orepor
3
"window.title": "${folderName}" 在设置的 JSON 中。 - masterxilo
8个回答

222

在用户/工作区设置中使用window.title

文档在此处,其中包含可以显示的所有选项的完整列表。它非常灵活。

在您的情况下,要显示angular2-training - main.ts,可以使用以下内容:

{
  "window.title": "${rootName}${separator}${activeEditorShort}"
}

老版本的 VS Code

上述方法仅适用于 v1.10 及以上版本。以下是在旧版本中的操作方法:

v1.9、v1.8 - 添加配置项"window.showFullPath": true以显示当前文件的完整路径,这样至少可以看到项目文件夹。请注意,此配置在v1.10之后不再受支持。

v1.7及更早版本 - 不支持该功能。


1
这是一个错误的答案。这只是显示文件的完整路径,使得窗口更加难以区分。 - Inrego
3
@Inrego 在v1.10版本中,现在可以完全满足原帖作者想要的功能了,我已经更新了我的回答。请考虑撤回你的负评 :-) - davnicwil
是的,我一直在GitHub上关注这个问题。由于现在的答案比我最初投票时要好得多,所以我已经改变了我的反对意见。 - Inrego
默认设置现在包含文件夹名称,但我更喜欢仅显示文件夹名称,这样我可以在我的工具栏中区分多个VSCode编辑器。 "window.title": "${folderName}" - Greg Woods
对我来说,我曾经困惑为什么某些项目显示的窗口标题不同。我之前不知道有用户和工作区选项卡。在我的用户选项卡中设置 window.title 取得了我所希望的结果。如果这个答案解释了这一点会更清晰。无论如何我还是给个赞。谢谢。 - Ryan

33

在1.13版本中

进入设置,找到UserSettings,在json blob中添加以下行:

"window.title": "${activeEditorLong}"

在1.41.1版本中

输入图像描述


1
这显示了完整的路径。我更喜欢这种方法,因为它只显示项目父文件夹的名称。这个答案可能会显示~/projects/my-project,而另一种方法只显示my-project。由于这些字符串可能在列表/缩略图等中出现截断,我更喜欢较短的形式。仍然给你点赞,因为我可以想象到需要这种情况的情况。 - Drew Noakes
完美!你说得对! - David R
传说..非常感谢 - terrinizer

12

基于上传的图像:

1,2:进入设置

3:在搜索框中搜索Windows 标题

4:在 Windows 标题框中输入以下语句:

${dirty}${separator}${rootName}${separator}${activeEditorShort}

在这里输入图片描述


10
如果您希望通过查看窗口标题栏来识别您正在处理的项目,其中一种选项是在工作区设置文件中将“window.title”设置为自定义值。
/.vscode/settings.json

如果文件不存在,则创建它,然后将以下内容添加到其中:
{
    "window.title": "<PROJECT NAME> : ${rootName}${separator}${activeEditorShort}"
}

这是一个简单的解决方案,效果相当不错。

我认为在.vscode文件夹中设置偏好会强制应用于打开该项目的所有IDE。这种行为似乎是用户偏好,我无法想象它对项目应该关注的任何指标造成影响。 - Drew Noakes

9

在1.44版本中测试过

与 OP(原po)的问题相符的设置...无法通过任务栏区分 VS Code 编辑器的区别...是:

"window.title": "${folderName} ${separator} ${activeEditorShort}"

我更喜欢更简单的东西。
"window.title": "${folderName}"

${activeFolderShort} 和类似的功能不能满足我想要的,因为它们只显示活动文件所在的文件夹。我想要整个“项目”文件夹始终显示出来。

而且,当从任务栏浏览时,我并不关心哪个文件是活动的,这只是噪音。我关心的是项目(即文件夹)。在许多情况下,每个打开的VS Code都将"main.rs"作为活动文件,因此显示它毫无意义!

现在,即使在json格式中编辑设置,也会提供智能感知,因此您可以查看所有选项,而无需进行查找,并且它们在保存设置文件后立即出现,无需重新加载。太棒了!


我同意,“window.title”: "${folderName}" 已经足够了。 - masterxilo

2

除了以下设置:

"window.title": "${rootName}${separator}${activeEditorShort}"

您现在可以通过VSCode 1.45(2020年4月)配置分隔符。

允许自定义窗口标题分隔符

一个新的设置window.titleSeparator允许更改用于窗口标题的分隔符。

默认情况下使用破折号。


2

在 vscode 的 v1.31 版本中,window.title 添加了以下选项:

有三个新的变量可以在 window.title 设置中使用:

${activeFolderShort}:文件所在文件夹的名称。

${activeFolderMedium}:文件所在文件夹相对于工作区文件夹的路径。

${activeFolderLong}:文件所在文件夹的完整路径。

注:Original Answer 翻译为“最初的回答”。

2

我发现了一些小技巧:

  // will not work on workspace settings.json -> only global
  "window.titleBarStyle": "custom",
  // show only the name of the workspace folder in the title bar
  "window.title": "${folderName}",
  // remove the useless icons on the top-right
  "window.commandCenter": false,

  // make left & top green :-)
  "workbench.colorCustomizations": {
    "activityBar.background": "#1e2127",
    "activityBar.foreground": "#95C085",
    "titleBar.activeBackground": "#165900",
    "titleBar.activeForeground": "#ffffff",
  }, 

谢谢!自从他们在标题位置添加了那个烦人的搜索框以来,我一直在努力弄清楚这个问题。"window.commandCenter": false是我缺少的东西。非常感谢你。 - mjd2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接