Skip to content

Commit 7987bbf

Browse files
committed
Revert "when with panel service when figuring out the active editor, microsoft#55309"
This reverts commit b078a67.
1 parent 061c99b commit 7987bbf

3 files changed

Lines changed: 56 additions & 83 deletions

File tree

src/vs/workbench/api/electron-browser/mainThreadDocumentsAndEditors.ts

Lines changed: 26 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -4,31 +4,28 @@
44
*--------------------------------------------------------------------------------------------*/
55
'use strict';
66

7-
import { Emitter, Event } from 'vs/base/common/event';
8-
import { dispose, IDisposable } from 'vs/base/common/lifecycle';
9-
import URI from 'vs/base/common/uri';
10-
import { ICodeEditor, isCodeEditor, isDiffEditor } from 'vs/editor/browser/editorBrowser';
11-
import { IBulkEditService } from 'vs/editor/browser/services/bulkEditService';
12-
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
13-
import { IEditor } from 'vs/editor/common/editorCommon';
14-
import { ITextModel } from 'vs/editor/common/model';
157
import { IModelService, shouldSynchronizeModel } from 'vs/editor/common/services/modelService';
16-
import { IModeService } from 'vs/editor/common/services/modeService';
17-
import { ITextModelService } from 'vs/editor/common/services/resolverService';
18-
import { IFileService } from 'vs/platform/files/common/files';
8+
import { ITextModel } from 'vs/editor/common/model';
9+
import { IDisposable, dispose } from 'vs/base/common/lifecycle';
10+
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
11+
import { Event, Emitter } from 'vs/base/common/event';
12+
import { ExtHostContext, ExtHostDocumentsAndEditorsShape, IModelAddedData, ITextEditorAddData, IDocumentsAndEditorsDelta, IExtHostContext, MainContext } from '../node/extHost.protocol';
13+
import { MainThreadTextEditor } from './mainThreadEditor';
14+
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
15+
import { IEditorGroupsService } from 'vs/workbench/services/group/common/editorGroupsService';
16+
import { EditorViewColumn, editorGroupToViewColumn } from 'vs/workbench/api/shared/editor';
17+
import { IEditor } from 'vs/workbench/common/editor';
1918
import { extHostCustomer } from 'vs/workbench/api/electron-browser/extHostCustomers';
2019
import { MainThreadDocuments } from 'vs/workbench/api/electron-browser/mainThreadDocuments';
2120
import { MainThreadTextEditors } from 'vs/workbench/api/electron-browser/mainThreadEditors';
22-
import { editorGroupToViewColumn, EditorViewColumn } from 'vs/workbench/api/shared/editor';
23-
import { BaseTextEditor } from 'vs/workbench/browser/parts/editor/textEditor';
24-
import { IEditor as IWorkbenchEditor } from 'vs/workbench/common/editor';
25-
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
26-
import { IEditorGroupsService } from 'vs/workbench/services/group/common/editorGroupsService';
27-
import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
28-
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
21+
import { IModeService } from 'vs/editor/common/services/modeService';
22+
import { IFileService } from 'vs/platform/files/common/files';
23+
import { ITextModelService } from 'vs/editor/common/services/resolverService';
2924
import { IUntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
30-
import { ExtHostContext, ExtHostDocumentsAndEditorsShape, IDocumentsAndEditorsDelta, IExtHostContext, IModelAddedData, ITextEditorAddData, MainContext } from '../node/extHost.protocol';
31-
import { MainThreadTextEditor } from './mainThreadEditor';
25+
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
26+
import { isDiffEditor, ICodeEditor } from 'vs/editor/browser/editorBrowser';
27+
import URI from 'vs/base/common/uri';
28+
import { IBulkEditService } from 'vs/editor/browser/services/bulkEditService';
3229

3330
namespace mapset {
3431

@@ -164,8 +161,7 @@ class MainThreadDocumentAndEditorStateComputer {
164161
private readonly _onDidChangeState: (delta: DocumentAndEditorStateDelta) => void,
165162
@IModelService private readonly _modelService: IModelService,
166163
@ICodeEditorService private readonly _codeEditorService: ICodeEditorService,
167-
@IEditorService private readonly _editorService: IEditorService,
168-
@IPanelService private readonly _panelService: IPanelService,
164+
@IEditorService private readonly _editorService: IEditorService
169165
) {
170166
this._modelService.onModelAdded(this._updateStateOnModelAdd, this, this._toDispose);
171167
this._modelService.onModelRemoved(this._updateState, this, this._toDispose);
@@ -256,21 +252,13 @@ class MainThreadDocumentAndEditorStateComputer {
256252
}
257253

258254
// active editor: if none of the previous editors had focus we try
259-
// to match output panels or the the active workbench editor with
260-
// one of editor we have just computed
255+
// to match the active workbench editor with one of editor we have
256+
// just computed
261257
if (!activeEditor) {
262-
263-
let candidate: IEditor;
264-
let panel = this._panelService.getActivePanel();
265-
if (panel instanceof BaseTextEditor && isCodeEditor(panel.getControl())) {
266-
candidate = panel.getControl();
267-
} else {
268-
candidate = this._editorService.activeTextEditorWidget;
269-
if (isDiffEditor(candidate)) {
270-
candidate = candidate.getModifiedEditor();
271-
}
258+
let candidate = this._editorService.activeTextEditorWidget;
259+
if (isDiffEditor(candidate)) {
260+
candidate = candidate.getModifiedEditor();
272261
}
273-
274262
if (candidate) {
275263
editors.forEach(snapshot => {
276264
if (candidate === snapshot.editor) {
@@ -319,8 +307,7 @@ export class MainThreadDocumentsAndEditors {
319307
@ITextModelService textModelResolverService: ITextModelService,
320308
@IUntitledEditorService untitledEditorService: IUntitledEditorService,
321309
@IEditorGroupsService private readonly _editorGroupService: IEditorGroupsService,
322-
@IBulkEditService bulkEditService: IBulkEditService,
323-
@IPanelService panelService: IPanelService
310+
@IBulkEditService bulkEditService: IBulkEditService
324311

325312
) {
326313
this._proxy = extHostContext.getProxy(ExtHostContext.ExtHostDocumentsAndEditors);
@@ -332,7 +319,7 @@ export class MainThreadDocumentsAndEditors {
332319
extHostContext.set(MainContext.MainThreadTextEditors, mainThreadTextEditors);
333320

334321
// It is expected that the ctor of the state computer calls our `_onDelta`.
335-
this._stateComputer = new MainThreadDocumentAndEditorStateComputer(delta => this._onDelta(delta), _modelService, codeEditorService, this._editorService, panelService);
322+
this._stateComputer = new MainThreadDocumentAndEditorStateComputer(delta => this._onDelta(delta), _modelService, codeEditorService, this._editorService);
336323

337324
this._toDispose = [
338325
mainThreadDocuments,
@@ -443,7 +430,7 @@ export class MainThreadDocumentsAndEditors {
443430
return undefined;
444431
}
445432

446-
findTextEditorIdFor(editor: IWorkbenchEditor): string {
433+
findTextEditorIdFor(editor: IEditor): string {
447434
for (let id in this._textEditors) {
448435
if (this._textEditors[id].matches(editor)) {
449436
return id;

src/vs/workbench/test/electron-browser/api/mainThreadDocumentsAndEditors.test.ts

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,21 @@
66
'use strict';
77

88
import * as assert from 'assert';
9-
import { Event } from 'vs/base/common/event';
10-
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
11-
import { ITextModel } from 'vs/editor/common/model';
9+
import { MainThreadDocumentsAndEditors } from 'vs/workbench/api/electron-browser/mainThreadDocumentsAndEditors';
10+
import { SingleProxyRPCProtocol } from './testRPCProtocol';
11+
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
1212
import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
1313
import { TestCodeEditorService } from 'vs/editor/test/browser/editorTestServices';
14-
import { createTestCodeEditor, TestCodeEditor } from 'vs/editor/test/browser/testCodeEditor';
15-
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
16-
import { IFileService } from 'vs/platform/files/common/files';
17-
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
18-
import { MainThreadDocumentsAndEditors } from 'vs/workbench/api/electron-browser/mainThreadDocumentsAndEditors';
19-
import { ExtHostDocumentsAndEditorsShape, IDocumentsAndEditorsDelta } from 'vs/workbench/api/node/extHost.protocol';
20-
import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
2114
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
15+
import { ExtHostDocumentsAndEditorsShape, IDocumentsAndEditorsDelta } from 'vs/workbench/api/node/extHost.protocol';
16+
import { createTestCodeEditor, TestCodeEditor } from 'vs/editor/test/browser/testCodeEditor';
2217
import { mock } from 'vs/workbench/test/electron-browser/api/mock';
23-
import { TestEditorGroupsService, TestEditorService } from 'vs/workbench/test/workbenchTestServices';
24-
import { SingleProxyRPCProtocol } from './testRPCProtocol';
18+
import { TestEditorService, TestEditorGroupsService } from 'vs/workbench/test/workbenchTestServices';
19+
import { Event } from 'vs/base/common/event';
20+
import { ITextModel } from 'vs/editor/common/model';
21+
import { ServiceCollection } from 'vs/platform/instantiation/common/serviceCollection';
22+
import { ICodeEditorService } from 'vs/editor/browser/services/codeEditorService';
23+
import { IFileService } from 'vs/platform/files/common/files';
2524

2625
suite('MainThreadDocumentsAndEditors', () => {
2726

@@ -75,13 +74,7 @@ suite('MainThreadDocumentsAndEditors', () => {
7574
null,
7675
null,
7776
editorGroupService,
78-
null,
79-
new class extends mock<IPanelService>() implements IPanelService {
80-
_serviceBrand: any;
81-
getActivePanel() {
82-
return null;
83-
}
84-
}
77+
null
8578
);
8679
/* tslint:enable */
8780
});

src/vs/workbench/test/electron-browser/api/mainThreadEditors.test.ts

Lines changed: 18 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -6,30 +6,29 @@
66
'use strict';
77

88
import * as assert from 'assert';
9+
import { MainThreadDocumentsAndEditors } from 'vs/workbench/api/electron-browser/mainThreadDocumentsAndEditors';
10+
import { SingleProxyRPCProtocol, TestRPCProtocol } from './testRPCProtocol';
11+
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
12+
import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
13+
import { TestCodeEditorService } from 'vs/editor/test/browser/editorTestServices';
14+
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
15+
import { ExtHostDocumentsAndEditorsShape, ExtHostContext, ExtHostDocumentsShape } from 'vs/workbench/api/node/extHost.protocol';
16+
import { mock } from 'vs/workbench/test/electron-browser/api/mock';
917
import { Event } from 'vs/base/common/event';
10-
import { ImmortalReference, IReference } from 'vs/base/common/lifecycle';
18+
import { MainThreadTextEditors } from 'vs/workbench/api/electron-browser/mainThreadEditors';
1119
import URI from 'vs/base/common/uri';
12-
import { TPromise } from 'vs/base/common/winjs.base';
13-
import { EditOperation } from 'vs/editor/common/core/editOperation';
14-
import { Position } from 'vs/editor/common/core/position';
1520
import { Range } from 'vs/editor/common/core/range';
16-
import { ResourceTextEdit } from 'vs/editor/common/modes';
21+
import { Position } from 'vs/editor/common/core/position';
1722
import { IModelService } from 'vs/editor/common/services/modelService';
18-
import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
19-
import { ITextEditorModel, ITextModelService } from 'vs/editor/common/services/resolverService';
20-
import { TestCodeEditorService } from 'vs/editor/test/browser/editorTestServices';
21-
import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService';
22-
import { LabelService } from 'vs/platform/label/common/label';
23-
import { NullLogService } from 'vs/platform/log/common/log';
24-
import { MainThreadDocumentsAndEditors } from 'vs/workbench/api/electron-browser/mainThreadDocumentsAndEditors';
25-
import { MainThreadTextEditors } from 'vs/workbench/api/electron-browser/mainThreadEditors';
26-
import { ExtHostContext, ExtHostDocumentsAndEditorsShape, ExtHostDocumentsShape } from 'vs/workbench/api/node/extHost.protocol';
23+
import { EditOperation } from 'vs/editor/common/core/editOperation';
24+
import { TestFileService, TestEditorService, TestEditorGroupsService, TestEnvironmentService, TestContextService } from 'vs/workbench/test/workbenchTestServices';
25+
import { TPromise } from 'vs/base/common/winjs.base';
26+
import { ResourceTextEdit } from 'vs/editor/common/modes';
2727
import { BulkEditService } from 'vs/workbench/services/bulkEdit/electron-browser/bulkEditService';
28-
import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
29-
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
30-
import { mock } from 'vs/workbench/test/electron-browser/api/mock';
31-
import { TestContextService, TestEditorGroupsService, TestEditorService, TestEnvironmentService, TestFileService } from 'vs/workbench/test/workbenchTestServices';
32-
import { SingleProxyRPCProtocol, TestRPCProtocol } from './testRPCProtocol';
28+
import { NullLogService } from 'vs/platform/log/common/log';
29+
import { ITextModelService, ITextEditorModel } from 'vs/editor/common/services/resolverService';
30+
import { IReference, ImmortalReference } from 'vs/base/common/lifecycle';
31+
import { LabelService } from 'vs/platform/label/common/label';
3332

3433
suite('MainThreadEditors', () => {
3534

@@ -109,12 +108,6 @@ suite('MainThreadEditors', () => {
109108
null,
110109
editorGroupService,
111110
bulkEditService,
112-
new class extends mock<IPanelService>() implements IPanelService {
113-
_serviceBrand: any;
114-
getActivePanel() {
115-
return null;
116-
}
117-
}
118111
);
119112

120113
editors = new MainThreadTextEditors(

0 commit comments

Comments
 (0)