在Visual Studio代码中更改无标题选项卡的标题

时间:2017-08-25 08:01:08

标签: visual-studio-code titlebar vscode-extensions

我正在构建一个VS代码扩展,其中包括更改untitled-1标签(未保存文件)的名称/标题。
我尝试在扩展的调试器控制台中运行以下代码,但它没有反映在编辑器中:

vscode.workspace.textDocuments[0].fileName="myFile"

是不可能还是我错过了什么?

2 个答案:

答案 0 :(得分:5)

仍然(2020年第一季度)是不可能的,但是下一个VSCode 1.42将name its Untitled editors differently

VS Code中的无标题编辑器是尚未保存到磁盘的文本缓冲区。
您可以随时打开它们,并且所有文本内容在两次重新启动之间都会存储和恢复。

为无标题的编辑器赋予了通用名称,例如Untitled-1并向上计数。
在此版本中,无标题的编辑器将使用文档第一行的内容作为编辑器标题,并将通用名称作为说明的一部分:

https://media.githubusercontent.com/media/microsoft/vscode-docs/vnext/release-notes/images/1_42/untitled-title2.gif

注意:如果第一行为空或不包含任何单词,则标题将像以前一样退回到Untitled_*

因此,尽管您无法自己设置标题(仍为readonly fileName),但从技术上来说...更改该文件的第一行足以更改“ Untitled”的标题编辑器。


使用VSCode 1.43 (Q1 2020),新设置 workbench.editor.untitled.labelFormat 可以控制无标题编辑者是否应使用内容作为标题。
可能的值为contentname
配置'workbench.editor.untitled.labelFormat':'name'可以使以前的行为恢复为无标题编辑者可以简称的标题,例如Untitled-1

答案 1 :(得分:3)

这是不可能的 - 如果您查看the API definition in vscode.d.ts的源代码,您会看到fileName被声明为readonly

export interface TextDocument {
    // ...
    readonly fileName: string;
    // ...
}

不幸的是,似乎readonly属性并未反映在API docs on the website中。