我正在构建一个VS代码扩展,其中包括更改untitled-1
标签(未保存文件)的名称/标题。
我尝试在扩展的调试器控制台中运行以下代码,但它没有反映在编辑器中:
vscode.workspace.textDocuments[0].fileName="myFile"
是不可能还是我错过了什么?
答案 0 :(得分:5)
仍然(2020年第一季度)是不可能的,但是下一个VSCode 1.42将name its Untitled editors differently。
VS Code中的无标题编辑器是尚未保存到磁盘的文本缓冲区。
您可以随时打开它们,并且所有文本内容在两次重新启动之间都会存储和恢复。为无标题的编辑器赋予了通用名称,例如
Untitled-1
并向上计数。
在此版本中,无标题的编辑器将使用文档第一行的内容作为编辑器标题,并将通用名称作为说明的一部分:
注意:如果第一行为空或不包含任何单词,则标题将像以前一样退回到
Untitled_*
。
因此,尽管您无法自己设置标题(仍为readonly fileName
),但从技术上来说...更改该文件的第一行足以更改“ Untitled”的标题编辑器。
使用VSCode 1.43 (Q1 2020),新设置 workbench.editor.untitled.labelFormat
可以控制无标题编辑者是否应使用内容作为标题。
可能的值为content
或name
。
配置'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中。