在vscode扩展中观察文件重命名

时间:2018-04-11 05:33:18

标签: visual-studio-code vscode-extensions

有没有办法在vscode扩展中观察文件名更改。我想知道旧的名字 - >文件重命名的新名称或用户保存以前未保存的文件时的名称(例如,Untitled-1 - > someName.txt)。

我注意到有一个FileSystemWatcher但它似乎只跟踪onDidChange,onDidCreate和onDidDelete,并且每个回调只传递一个URI。

有没有更好的方法呢?

2 个答案:

答案 0 :(得分:0)

从VS Code 1.29开始,跟踪文件here的文件重命名api。

您今天可以使用proposed APIs进行尝试:

export namespace workspace {
    export const onWillRenameFile: Event<FileWillRenameEvent>;
    export const onDidRenameFile: Event<FileRenameEvent>;
}

答案 1 :(得分:0)

使用与您相关的所需全局路径创建一个 FileSystemWatcher

var watcher = vscode.workspace.createFileSystemWatcher("**/*.ts"); //glob search string
watcher.ignoreChangeEvents = false;

watcher.onDidChange(() => {
 vscode.window.showInformationMessage("change applied!"); 
});

取自 - Using FileSystemWatcher in Typescript (Visual Studio Code extension)