在 Visual Studio Code 中更改无标题选项卡的标题
Posted
技术标签:
【中文标题】在 Visual Studio Code 中更改无标题选项卡的标题【英文标题】:Change title of untitled tab in Visual Studio Code 【发布时间】:2018-02-03 05:42:12 【问题描述】:我正在构建一个 VS Code 扩展,其中包括更改 untitled-1
选项卡(未保存的文件)的名称/标题。
我尝试在扩展的调试器控制台中运行以下代码,但它没有反映在编辑器中:
vscode.workspace.textDocuments[0].fileName="myFile"
这是不可能的还是我错过了什么?
【问题讨论】:
【参考方案1】:仍然(2020 年第一季度)不可能,但下一个 VSCode 1.42 将name its Untitled editors differently。
VS Code 中的无标题编辑器是尚未保存到磁盘的文本缓冲区。 您可以将它们保持打开状态,只要您愿意,所有文本内容都会在重新启动之间存储和恢复。
无标题的编辑者被赋予通用名称,例如
Untitled-1
并向上计数。在此版本中,无标题的编辑者将使用文档第一行的内容作为编辑者标题,并将通用名称作为描述的一部分:
注意:如果第一行为空或不包含任何单词,标题将像以前一样回退到
Untitled_*
。
因此,虽然您不能自己设置标题(仍然是 readonly fileName
),但从技术上讲...更改该文件的 第一行 足以更改所述“无标题”编辑器的标题。
使用VSCode 1.43 (Q1 2020),新设置workbench.editor.untitled.labelFormat
允许控制无标题编辑器是否应将内容用作标题。
可能的值为content
或name
。
配置 'workbench.editor.untitled.labelFormat
': 'name
' 以恢复以前的行为,其中无标题的编辑器会有一个短标题,例如 Untitled-1
。
【讨论】:
这正是我试图构建扩展的目的。【参考方案2】:这是不可能的——如果你查看the API definition in vscode.d.ts
的源代码,你会看到fileName
被声明为readonly
:
export interface TextDocument
// ...
readonly fileName: string;
// ...
不幸的是,readonly
属性似乎没有反映在API docs on the website 中。
【讨论】:
这很可悲。有什么办法可以说服他们使字段可变? 似乎不太可能,考虑到所有其他属性也是只读的。此外,我怀疑fileName
直接对应于标签标题中最终显示的内容。
哦,所以选项卡标题可能不是从文件名中获取的?你能确认一下吗
看来最终还是getPathLabel()
负责编辑标题,确实使用了文件名。以上是关于在 Visual Studio Code 中更改无标题选项卡的标题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio Code 中更改 Python 版本?
如何在 Visual Studio Code 中更改标尺的颜色
在 Visual Studio Code 中动态更改行号设置