Мое расширение vscode создает файл журнала в C: \ Users \ имя пользователя \ 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);
}
}
Можно ли вообще выполнять какие-либо действия, например, удалять папки внутри функции деактивации? Если да, то что мне не хватает?