mirror of
https://github.com/Microsoft/vscode
synced 2024-08-27 04:49:35 +00:00
Fix #145111
This commit is contained in:
parent
037fd05f03
commit
ed5a545047
|
@ -1287,7 +1287,7 @@ export class Repository implements Disposable {
|
||||||
t.additionalResourcesAndViewTypes.find(r => r.resource!.scheme === 'git')));
|
t.additionalResourcesAndViewTypes.find(r => r.resource!.scheme === 'git')));
|
||||||
|
|
||||||
// Close editors
|
// Close editors
|
||||||
diffEditorTabsToClose.forEach(t => t.close());
|
diffEditorTabsToClose.forEach(t => t.close(false));
|
||||||
}
|
}
|
||||||
|
|
||||||
async branch(name: string, _checkout: boolean, _ref?: string): Promise<void> {
|
async branch(name: string, _checkout: boolean, _ref?: string): Promise<void> {
|
||||||
|
|
|
@ -349,7 +349,7 @@ export class MainThreadEditorTabs {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
async $closeTab(tab: IEditorTabDto): Promise<void> {
|
async $closeTab(tab: IEditorTabDto, preserveFocus: boolean): Promise<void> {
|
||||||
const group = this._editorGroupsService.getGroup(columnToEditorGroup(this._editorGroupsService, tab.viewColumn));
|
const group = this._editorGroupsService.getGroup(columnToEditorGroup(this._editorGroupsService, tab.viewColumn));
|
||||||
if (!group) {
|
if (!group) {
|
||||||
return;
|
return;
|
||||||
|
@ -359,7 +359,7 @@ export class MainThreadEditorTabs {
|
||||||
if (!editor) {
|
if (!editor) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await group.closeEditor(editor);
|
await group.closeEditor(editor, { preserveFocus });
|
||||||
}
|
}
|
||||||
//#endregion
|
//#endregion
|
||||||
}
|
}
|
||||||
|
|
|
@ -612,7 +612,7 @@ export interface ExtHostEditorInsetsShape {
|
||||||
export interface MainThreadEditorTabsShape extends IDisposable {
|
export interface MainThreadEditorTabsShape extends IDisposable {
|
||||||
// manage tabs: move, close, rearrange etc
|
// manage tabs: move, close, rearrange etc
|
||||||
$moveTab(tab: IEditorTabDto, index: number, viewColumn: EditorGroupColumn): void;
|
$moveTab(tab: IEditorTabDto, index: number, viewColumn: EditorGroupColumn): void;
|
||||||
$closeTab(tab: IEditorTabDto): Promise<void>;
|
$closeTab(tab: IEditorTabDto, preserveFocus: boolean): Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IEditorTabGroupDto {
|
export interface IEditorTabGroupDto {
|
||||||
|
|
|
@ -22,7 +22,7 @@ export interface IEditorTab {
|
||||||
isDirty: boolean;
|
isDirty: boolean;
|
||||||
additionalResourcesAndViewTypes: { resource: vscode.Uri | undefined; viewType: string | undefined }[];
|
additionalResourcesAndViewTypes: { resource: vscode.Uri | undefined; viewType: string | undefined }[];
|
||||||
move(index: number, viewColumn: ViewColumn): Promise<void>;
|
move(index: number, viewColumn: ViewColumn): Promise<void>;
|
||||||
close(): Promise<void>;
|
close(preserveFocus: boolean): Promise<void>;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface IEditorTabGroup {
|
export interface IEditorTabGroup {
|
||||||
|
@ -122,13 +122,11 @@ export class ExtHostEditorTabs implements IExtHostEditorTabs {
|
||||||
move: async (index: number, viewColumn: ViewColumn) => {
|
move: async (index: number, viewColumn: ViewColumn) => {
|
||||||
this._proxy.$moveTab(tabDto, index, typeConverters.ViewColumn.from(viewColumn));
|
this._proxy.$moveTab(tabDto, index, typeConverters.ViewColumn.from(viewColumn));
|
||||||
// TODO: Need an on did change tab event at the group level
|
// TODO: Need an on did change tab event at the group level
|
||||||
// await raceTimeout(Event.toPromise(this._onDidChangeTabs.event), 1000);
|
|
||||||
return;
|
return;
|
||||||
},
|
},
|
||||||
close: async () => {
|
close: async (preserveFocus) => {
|
||||||
await this._proxy.$closeTab(tabDto);
|
await this._proxy.$closeTab(tabDto, preserveFocus);
|
||||||
// TODO: Need an on did change tab event at the group level
|
// TODO: Need an on did change tab event at the group level
|
||||||
// await raceTimeout(Event.toPromise(this._onDidChangeTabs.event), 1000);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
3
src/vscode-dts/vscode.proposed.tabs.d.ts
vendored
3
src/vscode-dts/vscode.proposed.tabs.d.ts
vendored
|
@ -87,8 +87,7 @@ declare module 'vscode' {
|
||||||
* should no longer be used for further actions.
|
* should no longer be used for further actions.
|
||||||
*/
|
*/
|
||||||
// TODO@API move into TabGroups, support one or many tabs or tab groups
|
// TODO@API move into TabGroups, support one or many tabs or tab groups
|
||||||
// TODO@API add `preserveFocus`
|
close(preserveFocus: boolean): Thenable<void>;
|
||||||
close(): Thenable<void>;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export namespace window {
|
export namespace window {
|
||||||
|
|
Loading…
Reference in a new issue