我的vscode扩展名在C:\ Users \ username \ AppData \ Roaming \ Code \ logs中创建一个日志文件。我想在扩展名停用事件中删除包含此日志文件的文件夹。
我已经尝试在“停用”功能中删除该文件夹。 但是我的扩展名不是等待删除文件夹。立即终止。
关于这一点,这里有一个讨论:https://github.com/Microsoft/vscode/issues/47881
我意识到,扩展程序在卸载前仅等待5秒钟。
这是我的代码,用于在停用事件中删除包含日志文件的文件夹:
export function deactivate(context: ExtensionContext) {
clientUtils.deleteFolderRecursive(context.logPath);
}
export function deleteFolderRecursive(path: string) {
if (fs.existsSync(path)) {
fs.readdirSync(path).forEach(function(file, index){
var curPath = path + "/" + file;
if (fs.lstatSync(curPath).isDirectory()) { // recurse
deleteFolderRecursive(curPath);
} else { // delete file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
}
是否甚至可以执行某些活动,例如在停用功能中删除文件夹?如果是,我想念什么?