提交 9ba606df 编写于 作者: J Johannes Rieken

add recrusive-flag to deleteFile-function, #52941

上级 39b91f6c
......@@ -906,7 +906,7 @@ export function isResourceTextEdit(thing: any): thing is ResourceTextEdit {
export interface ResourceFileEdit {
oldUri: URI;
newUri: URI;
options: { overwrite?: boolean, ignoreIfExists?: boolean };
options: { overwrite?: boolean, ignoreIfExists?: boolean, recursive?: boolean };
}
export interface ResourceTextEdit {
......
......@@ -5191,6 +5191,7 @@ declare namespace monaco.languages {
options: {
overwrite?: boolean;
ignoreIfExists?: boolean;
recursive?: boolean;
};
}
......
......@@ -817,7 +817,7 @@ declare module 'vscode' {
*
* @param uri The uri of the file that is to be deleted.
*/
deleteFile(uri: Uri): void;
deleteFile(uri: Uri, options?: { recursive?: boolean }): void;
/**
* Rename a file or folder.
......
......@@ -29,7 +29,7 @@ import { IConfig, IAdapterExecutable, ITerminalSettings } from 'vs/workbench/par
import { IQuickPickItem, IPickOptions, IQuickInputButton } from 'vs/platform/quickinput/common/quickInput';
import { SaveReason } from 'vs/workbench/services/textfile/common/textfiles';
import { TextEditorCursorStyle } from 'vs/editor/common/config/editorOptions';
import { EndOfLine, TextEditorLineNumbersStyle } from 'vs/workbench/api/node/extHostTypes';
import { EndOfLine, TextEditorLineNumbersStyle, IFileOperationOptions } from 'vs/workbench/api/node/extHostTypes';
import { TaskSet } from 'vs/workbench/parts/tasks/common/tasks';
......@@ -774,7 +774,7 @@ export interface WorkspaceSymbolsDto extends IdObject {
export interface ResourceFileEditDto {
oldUri: UriComponents;
newUri: UriComponents;
options: { overwrite?: boolean, ignoreIfExists?: boolean };
options: IFileOperationOptions;
}
export interface ResourceTextEditDto {
......
......@@ -495,11 +495,17 @@ export class TextEdit {
}
export interface IFileOperationOptions {
overwrite?: boolean;
ignoreIfExists?: boolean;
recursive?: boolean;
}
export interface IFileOperation {
_type: 1;
from: URI;
to: URI;
options?: { overwrite?: boolean, ignoreIfExists?: boolean; };
options?: IFileOperationOptions;
}
export interface IFileTextEdit {
......@@ -520,8 +526,8 @@ export class WorkspaceEdit implements vscode.WorkspaceEdit {
this._edits.push({ _type: 1, from: undefined, to: uri, options });
}
deleteFile(uri: vscode.Uri): void {
this._edits.push({ _type: 1, from: uri, to: undefined });
deleteFile(uri: vscode.Uri, options?: { recursive?: boolean }): void {
this._edits.push({ _type: 1, from: uri, to: undefined, options });
}
replace(uri: URI, range: Range, newText: string): void {
......@@ -593,8 +599,8 @@ export class WorkspaceEdit implements vscode.WorkspaceEdit {
return values(textEdits);
}
_allEntries(): ([URI, TextEdit[]] | [URI, URI, { overwrite?: boolean, ignoreIfExists?: boolean }])[] {
let res: ([URI, TextEdit[]] | [URI, URI, { overwrite?: boolean, ignoreIfExists?: boolean }])[] = [];
_allEntries(): ([URI, TextEdit[]] | [URI, URI, IFileOperationOptions])[] {
let res: ([URI, TextEdit[]] | [URI, URI, IFileOperationOptions])[] = [];
for (let edit of this._edits) {
if (edit._type === 1) {
res.push([edit.from, edit.to, edit.options]);
......
......@@ -339,6 +339,7 @@ export class BulkEdit {
if (edit.newUri && edit.oldUri) {
await this._textFileService.move(edit.oldUri, edit.newUri, overwrite);
} else if (!edit.newUri && edit.oldUri) {
// let recrusive = edit.options && edit.options.recursive;
await this._textFileService.delete(edit.oldUri, true);
} else if (edit.newUri && !edit.oldUri) {
let ignoreIfExists = edit.options && edit.options.ignoreIfExists;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册