提交 bdaa72b8 编写于 作者: A Alex Dima

ext host - extend *Shape classes

上级 581c260f
...@@ -181,10 +181,10 @@ export abstract class MainThreadWorkspaceShape { ...@@ -181,10 +181,10 @@ export abstract class MainThreadWorkspaceShape {
} }
export abstract class MainProcessExtensionServiceShape { export abstract class MainProcessExtensionServiceShape {
public $onExtensionHostReady(extensionDescriptions: IExtensionDescription[], messages: IMessage[]): TPromise<void> { throw ni(); } $onExtensionHostReady(extensionDescriptions: IExtensionDescription[], messages: IMessage[]): TPromise<void> { throw ni(); }
public $localShowMessage(severity: Severity, msg: string): void { throw ni(); } $localShowMessage(severity: Severity, msg: string): void { throw ni(); }
public $onExtensionActivated(extensionId: string): void { throw ni(); } $onExtensionActivated(extensionId: string): void { throw ni(); }
public $onExtensionActivationFailed(extensionId: string): void { throw ni(); } $onExtensionActivationFailed(extensionId: string): void { throw ni(); }
} }
// -- extension host // -- extension host
......
...@@ -12,7 +12,7 @@ import {ExtHostEditors} from 'vs/workbench/api/node/extHostEditors'; ...@@ -12,7 +12,7 @@ import {ExtHostEditors} from 'vs/workbench/api/node/extHostEditors';
import * as extHostTypes from 'vs/workbench/api/node/extHostTypes'; import * as extHostTypes from 'vs/workbench/api/node/extHostTypes';
import * as extHostTypeConverter from 'vs/workbench/api/node/extHostTypeConverters'; import * as extHostTypeConverter from 'vs/workbench/api/node/extHostTypeConverters';
import {cloneAndChange} from 'vs/base/common/objects'; import {cloneAndChange} from 'vs/base/common/objects';
import {MainContext, MainThreadCommandsShape} from './extHost.protocol'; import {MainContext, MainThreadCommandsShape, ExtHostCommandsShape} from './extHost.protocol';
interface CommandHandler { interface CommandHandler {
callback: Function; callback: Function;
...@@ -20,7 +20,7 @@ interface CommandHandler { ...@@ -20,7 +20,7 @@ interface CommandHandler {
description: ICommandHandlerDescription; description: ICommandHandlerDescription;
} }
export class ExtHostCommands { export class ExtHostCommands extends ExtHostCommandsShape {
private _commands: { [n: string]: CommandHandler } = Object.create(null); private _commands: { [n: string]: CommandHandler } = Object.create(null);
private _proxy: MainThreadCommandsShape; private _proxy: MainThreadCommandsShape;
...@@ -30,6 +30,7 @@ export class ExtHostCommands { ...@@ -30,6 +30,7 @@ export class ExtHostCommands {
threadService: IThreadService, threadService: IThreadService,
extHostEditors:ExtHostEditors extHostEditors:ExtHostEditors
) { ) {
super();
this._extHostEditors = extHostEditors; this._extHostEditors = extHostEditors;
this._proxy = threadService.get(MainContext.MainThreadCommands); this._proxy = threadService.get(MainContext.MainThreadCommands);
} }
......
...@@ -8,14 +8,16 @@ import {clone} from 'vs/base/common/objects'; ...@@ -8,14 +8,16 @@ import {clone} from 'vs/base/common/objects';
import {illegalState} from 'vs/base/common/errors'; import {illegalState} from 'vs/base/common/errors';
import Event, {Emitter} from 'vs/base/common/event'; import Event, {Emitter} from 'vs/base/common/event';
import {WorkspaceConfiguration} from 'vscode'; import {WorkspaceConfiguration} from 'vscode';
import {ExtHostConfigurationShape} from './extHost.protocol';
export class ExtHostConfiguration { export class ExtHostConfiguration extends ExtHostConfigurationShape {
private _config: any; private _config: any;
private _hasConfig: boolean; private _hasConfig: boolean;
private _onDidChangeConfiguration: Emitter<void>; private _onDidChangeConfiguration: Emitter<void>;
constructor() { constructor() {
super();
this._onDidChangeConfiguration = new Emitter<void>(); this._onDidChangeConfiguration = new Emitter<void>();
} }
......
...@@ -9,7 +9,7 @@ import {IMarkerData} from 'vs/platform/markers/common/markers'; ...@@ -9,7 +9,7 @@ import {IMarkerData} from 'vs/platform/markers/common/markers';
import URI from 'vs/base/common/uri'; import URI from 'vs/base/common/uri';
import Severity from 'vs/base/common/severity'; import Severity from 'vs/base/common/severity';
import * as vscode from 'vscode'; import * as vscode from 'vscode';
import {MainContext, MainThreadDiagnosticsShape} from './extHost.protocol'; import {MainContext, MainThreadDiagnosticsShape, ExtHostDiagnosticsShape} from './extHost.protocol';
export class DiagnosticCollection implements vscode.DiagnosticCollection { export class DiagnosticCollection implements vscode.DiagnosticCollection {
...@@ -175,7 +175,7 @@ export class DiagnosticCollection implements vscode.DiagnosticCollection { ...@@ -175,7 +175,7 @@ export class DiagnosticCollection implements vscode.DiagnosticCollection {
} }
} }
export class ExtHostDiagnostics { export class ExtHostDiagnostics extends ExtHostDiagnosticsShape {
private static _idPool: number = 0; private static _idPool: number = 0;
...@@ -183,6 +183,7 @@ export class ExtHostDiagnostics { ...@@ -183,6 +183,7 @@ export class ExtHostDiagnostics {
private _collections: DiagnosticCollection[]; private _collections: DiagnosticCollection[];
constructor(threadService: IThreadService) { constructor(threadService: IThreadService) {
super();
this._proxy = threadService.get(MainContext.MainThreadDiagnostics); this._proxy = threadService.get(MainContext.MainThreadDiagnostics);
this._collections = []; this._collections = [];
} }
......
...@@ -17,7 +17,7 @@ import {TPromise} from 'vs/base/common/winjs.base'; ...@@ -17,7 +17,7 @@ import {TPromise} from 'vs/base/common/winjs.base';
import * as vscode from 'vscode'; import * as vscode from 'vscode';
import {asWinJsPromise} from 'vs/base/common/async'; import {asWinJsPromise} from 'vs/base/common/async';
import {getWordAtText, ensureValidWordDefinition} from 'vs/editor/common/model/wordHelper'; import {getWordAtText, ensureValidWordDefinition} from 'vs/editor/common/model/wordHelper';
import {MainContext, MainThreadDocumentsShape, IModelAddedData} from './extHost.protocol'; import {MainContext, MainThreadDocumentsShape, ExtHostDocumentsShape, IModelAddedData} from './extHost.protocol';
const _modeId2WordDefinition: { const _modeId2WordDefinition: {
[modeId: string]: RegExp; [modeId: string]: RegExp;
...@@ -31,7 +31,7 @@ function getWordDefinitionFor(modeId: string): RegExp { ...@@ -31,7 +31,7 @@ function getWordDefinitionFor(modeId: string): RegExp {
return _modeId2WordDefinition[modeId]; return _modeId2WordDefinition[modeId];
} }
export class ExtHostDocuments { export class ExtHostDocuments extends ExtHostDocumentsShape {
private static _handlePool: number = 0; private static _handlePool: number = 0;
...@@ -54,6 +54,7 @@ export class ExtHostDocuments { ...@@ -54,6 +54,7 @@ export class ExtHostDocuments {
private _proxy: MainThreadDocumentsShape; private _proxy: MainThreadDocumentsShape;
constructor(threadService: IThreadService) { constructor(threadService: IThreadService) {
super();
this._proxy = threadService.get(MainContext.MainThreadDocuments); this._proxy = threadService.get(MainContext.MainThreadDocuments);
this._onDidAddDocumentEventEmitter = new Emitter<vscode.TextDocument>(); this._onDidAddDocumentEventEmitter = new Emitter<vscode.TextDocument>();
......
...@@ -16,9 +16,9 @@ import {ISingleEditOperation, ISelection} from 'vs/editor/common/editorCommon'; ...@@ -16,9 +16,9 @@ import {ISingleEditOperation, ISelection} from 'vs/editor/common/editorCommon';
import {IResolvedTextEditorConfiguration} from 'vs/workbench/api/node/mainThreadEditorsTracker'; import {IResolvedTextEditorConfiguration} from 'vs/workbench/api/node/mainThreadEditorsTracker';
import * as TypeConverters from './extHostTypeConverters'; import * as TypeConverters from './extHostTypeConverters';
import {TextDocument, TextEditorSelectionChangeEvent, TextEditorOptionsChangeEvent, TextEditorOptions, TextEditorViewColumnChangeEvent, ViewColumn} from 'vscode'; import {TextDocument, TextEditorSelectionChangeEvent, TextEditorOptionsChangeEvent, TextEditorOptions, TextEditorViewColumnChangeEvent, ViewColumn} from 'vscode';
import {MainContext, MainThreadEditorsShape, ITextEditorAddData, ITextEditorPositionData} from './extHost.protocol'; import {MainContext, MainThreadEditorsShape, ExtHostEditorsShape, ITextEditorAddData, ITextEditorPositionData} from './extHost.protocol';
export class ExtHostEditors { export class ExtHostEditors extends ExtHostEditorsShape {
public onDidChangeTextEditorSelection: Event<TextEditorSelectionChangeEvent>; public onDidChangeTextEditorSelection: Event<TextEditorSelectionChangeEvent>;
private _onDidChangeTextEditorSelection: Emitter<TextEditorSelectionChangeEvent>; private _onDidChangeTextEditorSelection: Emitter<TextEditorSelectionChangeEvent>;
...@@ -40,6 +40,7 @@ export class ExtHostEditors { ...@@ -40,6 +40,7 @@ export class ExtHostEditors {
threadService: IThreadService, threadService: IThreadService,
extHostDocuments: ExtHostDocuments extHostDocuments: ExtHostDocuments
) { ) {
super();
this._onDidChangeTextEditorSelection = new Emitter<TextEditorSelectionChangeEvent>(); this._onDidChangeTextEditorSelection = new Emitter<TextEditorSelectionChangeEvent>();
this.onDidChangeTextEditorSelection = this._onDidChangeTextEditorSelection.event; this.onDidChangeTextEditorSelection = this._onDidChangeTextEditorSelection.event;
......
...@@ -8,7 +8,7 @@ import Event, {Emitter} from 'vs/base/common/event'; ...@@ -8,7 +8,7 @@ import Event, {Emitter} from 'vs/base/common/event';
import {Disposable} from './extHostTypes'; import {Disposable} from './extHostTypes';
import {match} from 'vs/base/common/glob'; import {match} from 'vs/base/common/glob';
import {Uri, FileSystemWatcher as _FileSystemWatcher} from 'vscode'; import {Uri, FileSystemWatcher as _FileSystemWatcher} from 'vscode';
import {FileSystemEvents} from './extHost.protocol'; import {FileSystemEvents, ExtHostFileSystemEventServiceShape} from './extHost.protocol';
export class FileSystemWatcher implements _FileSystemWatcher { export class FileSystemWatcher implements _FileSystemWatcher {
...@@ -87,11 +87,12 @@ export class FileSystemWatcher implements _FileSystemWatcher { ...@@ -87,11 +87,12 @@ export class FileSystemWatcher implements _FileSystemWatcher {
} }
} }
export class ExtHostFileSystemEventService { export class ExtHostFileSystemEventService extends ExtHostFileSystemEventServiceShape {
private _emitter = new Emitter<FileSystemEvents>(); private _emitter = new Emitter<FileSystemEvents>();
constructor() { constructor() {
super();
} }
public createFileSystemWatcher(globPattern: string, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): _FileSystemWatcher { public createFileSystemWatcher(globPattern: string, ignoreCreateEvents?: boolean, ignoreChangeEvents?: boolean, ignoreDeleteEvents?: boolean): _FileSystemWatcher {
......
...@@ -18,7 +18,7 @@ import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands'; ...@@ -18,7 +18,7 @@ import {ExtHostCommands} from 'vs/workbench/api/node/extHostCommands';
import {ExtHostDiagnostics} from 'vs/workbench/api/node/extHostDiagnostics'; import {ExtHostDiagnostics} from 'vs/workbench/api/node/extHostDiagnostics';
import {INavigateTypesSupport, ITypeBearing} from 'vs/workbench/parts/search/common/search'; import {INavigateTypesSupport, ITypeBearing} from 'vs/workbench/parts/search/common/search';
import {asWinJsPromise, ShallowCancelThenPromise} from 'vs/base/common/async'; import {asWinJsPromise, ShallowCancelThenPromise} from 'vs/base/common/async';
import {MainContext, MainThreadLanguageFeaturesShape} from './extHost.protocol'; import {MainContext, MainThreadLanguageFeaturesShape, ExtHostLanguageFeaturesShape} from './extHost.protocol';
import {regExpLeadsToEndlessLoop} from 'vs/base/common/strings'; import {regExpLeadsToEndlessLoop} from 'vs/base/common/strings';
// --- adapter // --- adapter
...@@ -593,7 +593,7 @@ type Adapter = OutlineAdapter | CodeLensAdapter | DefinitionAdapter | HoverAdapt ...@@ -593,7 +593,7 @@ type Adapter = OutlineAdapter | CodeLensAdapter | DefinitionAdapter | HoverAdapt
| RangeFormattingAdapter | OnTypeFormattingAdapter | NavigateTypeAdapter | RenameAdapter | RangeFormattingAdapter | OnTypeFormattingAdapter | NavigateTypeAdapter | RenameAdapter
| SuggestAdapter | SignatureHelpAdapter; | SuggestAdapter | SignatureHelpAdapter;
export class ExtHostLanguageFeatures { export class ExtHostLanguageFeatures extends ExtHostLanguageFeaturesShape {
private static _handlePool: number = 0; private static _handlePool: number = 0;
...@@ -609,6 +609,7 @@ export class ExtHostLanguageFeatures { ...@@ -609,6 +609,7 @@ export class ExtHostLanguageFeatures {
commands: ExtHostCommands, commands: ExtHostCommands,
diagnostics: ExtHostDiagnostics diagnostics: ExtHostDiagnostics
) { ) {
super();
this._proxy = threadService.get(MainContext.MainThreadLanguageFeatures); this._proxy = threadService.get(MainContext.MainThreadLanguageFeatures);
this._documents = documents; this._documents = documents;
this._commands = commands; this._commands = commands;
......
...@@ -7,17 +7,18 @@ ...@@ -7,17 +7,18 @@
import {TPromise} from 'vs/base/common/winjs.base'; import {TPromise} from 'vs/base/common/winjs.base';
import {IThreadService} from 'vs/workbench/services/thread/common/threadService'; import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
import {QuickPickOptions, QuickPickItem, InputBoxOptions} from 'vscode'; import {QuickPickOptions, QuickPickItem, InputBoxOptions} from 'vscode';
import {MainContext, MainThreadQuickOpenShape, MyQuickPickItems} from './extHost.protocol'; import {MainContext, MainThreadQuickOpenShape, ExtHostQuickOpenShape, MyQuickPickItems} from './extHost.protocol';
export type Item = string | QuickPickItem; export type Item = string | QuickPickItem;
export class ExtHostQuickOpen { export class ExtHostQuickOpen extends ExtHostQuickOpenShape {
private _proxy: MainThreadQuickOpenShape; private _proxy: MainThreadQuickOpenShape;
private _onDidSelectItem: (handle: number) => void; private _onDidSelectItem: (handle: number) => void;
private _validateInput: (input: string) => string; private _validateInput: (input: string) => string;
constructor(threadService: IThreadService) { constructor(threadService: IThreadService) {
super();
this._proxy = threadService.get(MainContext.MainThreadQuickOpen); this._proxy = threadService.get(MainContext.MainThreadQuickOpen);
} }
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
import {IThreadService} from 'vs/workbench/services/thread/common/threadService'; import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
import {ICommandService, CommandsRegistry, ICommandHandlerDescription} from 'vs/platform/commands/common/commands'; import {ICommandService, CommandsRegistry, ICommandHandlerDescription} from 'vs/platform/commands/common/commands';
import {TPromise} from 'vs/base/common/winjs.base'; import {TPromise} from 'vs/base/common/winjs.base';
import {ExtHostContext, ExtHostCommandsShape} from './extHost.protocol'; import {ExtHostContext, MainThreadCommandsShape, ExtHostCommandsShape} from './extHost.protocol';
export class MainThreadCommands { export class MainThreadCommands extends MainThreadCommandsShape {
private _proxy: ExtHostCommandsShape; private _proxy: ExtHostCommandsShape;
...@@ -17,6 +17,7 @@ export class MainThreadCommands { ...@@ -17,6 +17,7 @@ export class MainThreadCommands {
@IThreadService private _threadService: IThreadService, @IThreadService private _threadService: IThreadService,
@ICommandService private _commandService: ICommandService @ICommandService private _commandService: ICommandService
) { ) {
super();
this._proxy = this._threadService.get(ExtHostContext.ExtHostCommands); this._proxy = this._threadService.get(ExtHostContext.ExtHostCommands);
} }
......
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
import {IDisposable, dispose} from 'vs/base/common/lifecycle'; import {IDisposable, dispose} from 'vs/base/common/lifecycle';
import {IThreadService} from 'vs/workbench/services/thread/common/threadService'; import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
import {IConfigurationService} from 'vs/platform/configuration/common/configuration'; import {IConfigurationService} from 'vs/platform/configuration/common/configuration';
import {ExtHostContext, ExtHostConfigurationShape} from './extHost.protocol'; import {MainThreadConfigurationShape, ExtHostContext, ExtHostConfigurationShape} from './extHost.protocol';
export class MainThreadConfiguration { export class MainThreadConfiguration extends MainThreadConfigurationShape {
private _configurationService: IConfigurationService; private _configurationService: IConfigurationService;
private _toDispose: IDisposable; private _toDispose: IDisposable;
...@@ -19,6 +19,7 @@ export class MainThreadConfiguration { ...@@ -19,6 +19,7 @@ export class MainThreadConfiguration {
@IConfigurationService configurationService: IConfigurationService, @IConfigurationService configurationService: IConfigurationService,
@IThreadService threadService: IThreadService @IThreadService threadService: IThreadService
) { ) {
super();
this._configurationService = configurationService; this._configurationService = configurationService;
this._proxy = threadService.get(ExtHostContext.ExtHostConfiguration); this._proxy = threadService.get(ExtHostContext.ExtHostConfiguration);
......
...@@ -7,12 +7,14 @@ ...@@ -7,12 +7,14 @@
import {IMarkerService, IMarkerData} from 'vs/platform/markers/common/markers'; import {IMarkerService, IMarkerData} from 'vs/platform/markers/common/markers';
import URI from 'vs/base/common/uri'; import URI from 'vs/base/common/uri';
import {TPromise} from 'vs/base/common/winjs.base'; import {TPromise} from 'vs/base/common/winjs.base';
import {MainThreadDiagnosticsShape} from './extHost.protocol';
export class MainThreadDiagnostics { export class MainThreadDiagnostics extends MainThreadDiagnosticsShape {
private _markerService: IMarkerService; private _markerService: IMarkerService;
constructor(@IMarkerService markerService: IMarkerService) { constructor(@IMarkerService markerService: IMarkerService) {
super();
this._markerService = markerService; this._markerService = markerService;
} }
......
...@@ -19,9 +19,9 @@ import {IFileService} from 'vs/platform/files/common/files'; ...@@ -19,9 +19,9 @@ import {IFileService} from 'vs/platform/files/common/files';
import {IModeService} from 'vs/editor/common/services/modeService'; import {IModeService} from 'vs/editor/common/services/modeService';
import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService'; import {IUntitledEditorService} from 'vs/workbench/services/untitled/common/untitledEditorService';
import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput'; import {ResourceEditorInput} from 'vs/workbench/common/editor/resourceEditorInput';
import {ExtHostContext, ExtHostDocumentsShape} from './extHost.protocol'; import {ExtHostContext, MainThreadDocumentsShape, ExtHostDocumentsShape} from './extHost.protocol';
export class MainThreadDocuments { export class MainThreadDocuments extends MainThreadDocumentsShape {
private _modelService: IModelService; private _modelService: IModelService;
private _modeService: IModeService; private _modeService: IModeService;
private _textFileService: ITextFileService; private _textFileService: ITextFileService;
...@@ -45,6 +45,7 @@ export class MainThreadDocuments { ...@@ -45,6 +45,7 @@ export class MainThreadDocuments {
@IFileService fileService: IFileService, @IFileService fileService: IFileService,
@IUntitledEditorService untitledEditorService: IUntitledEditorService @IUntitledEditorService untitledEditorService: IUntitledEditorService
) { ) {
super();
this._modelService = modelService; this._modelService = modelService;
this._modeService = modeService; this._modeService = modeService;
this._textFileService = textFileService; this._textFileService = textFileService;
......
...@@ -20,9 +20,9 @@ import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry'; ...@@ -20,9 +20,9 @@ import {ITelemetryService} from 'vs/platform/telemetry/common/telemetry';
import {IEventService} from 'vs/platform/event/common/event'; import {IEventService} from 'vs/platform/event/common/event';
import {equals as arrayEquals} from 'vs/base/common/arrays'; import {equals as arrayEquals} from 'vs/base/common/arrays';
import {equals as objectEquals} from 'vs/base/common/objects'; import {equals as objectEquals} from 'vs/base/common/objects';
import {ExtHostContext, ExtHostEditorsShape, ITextEditorPositionData} from './extHost.protocol'; import {ExtHostContext, MainThreadEditorsShape, ExtHostEditorsShape, ITextEditorPositionData} from './extHost.protocol';
export class MainThreadEditors { export class MainThreadEditors extends MainThreadEditorsShape {
private _proxy: ExtHostEditorsShape; private _proxy: ExtHostEditorsShape;
private _workbenchEditorService: IWorkbenchEditorService; private _workbenchEditorService: IWorkbenchEditorService;
...@@ -44,6 +44,7 @@ export class MainThreadEditors { ...@@ -44,6 +44,7 @@ export class MainThreadEditors {
@IEventService eventService: IEventService, @IEventService eventService: IEventService,
@IModelService modelService: IModelService @IModelService modelService: IModelService
) { ) {
super();
this._proxy = threadService.get(ExtHostContext.ExtHostEditors); this._proxy = threadService.get(ExtHostContext.ExtHostEditors);
this._workbenchEditorService = workbenchEditorService; this._workbenchEditorService = workbenchEditorService;
this._telemetryService = telemetryService; this._telemetryService = telemetryService;
......
...@@ -5,8 +5,9 @@ ...@@ -5,8 +5,9 @@
'use strict'; 'use strict';
import * as errors from 'vs/base/common/errors'; import * as errors from 'vs/base/common/errors';
import {MainThreadErrorsShape} from './extHost.protocol';
export class MainThreadErrors { export class MainThreadErrors extends MainThreadErrorsShape {
public onUnexpectedExtHostError(err: any): void { public onUnexpectedExtHostError(err: any): void {
errors.onUnexpectedError(err); errors.onUnexpectedError(err);
......
...@@ -15,15 +15,16 @@ import {wireCancellationToken} from 'vs/base/common/async'; ...@@ -15,15 +15,16 @@ import {wireCancellationToken} from 'vs/base/common/async';
import {CancellationToken} from 'vs/base/common/cancellation'; import {CancellationToken} from 'vs/base/common/cancellation';
import {Position as EditorPosition} from 'vs/editor/common/core/position'; import {Position as EditorPosition} from 'vs/editor/common/core/position';
import {Range as EditorRange} from 'vs/editor/common/core/range'; import {Range as EditorRange} from 'vs/editor/common/core/range';
import {ExtHostContext, ExtHostLanguageFeaturesShape} from './extHost.protocol'; import {ExtHostContext, MainThreadLanguageFeaturesShape, ExtHostLanguageFeaturesShape} from './extHost.protocol';
import {LanguageConfigurationRegistry, LanguageConfiguration} from 'vs/editor/common/modes/languageConfigurationRegistry'; import {LanguageConfigurationRegistry, LanguageConfiguration} from 'vs/editor/common/modes/languageConfigurationRegistry';
export class MainThreadLanguageFeatures { export class MainThreadLanguageFeatures extends MainThreadLanguageFeaturesShape {
private _proxy: ExtHostLanguageFeaturesShape; private _proxy: ExtHostLanguageFeaturesShape;
private _registrations: { [handle: number]: IDisposable; } = Object.create(null); private _registrations: { [handle: number]: IDisposable; } = Object.create(null);
constructor( @IThreadService threadService: IThreadService) { constructor( @IThreadService threadService: IThreadService) {
super();
this._proxy = threadService.get(ExtHostContext.ExtHostLanguageFeatures); this._proxy = threadService.get(ExtHostContext.ExtHostLanguageFeatures);
} }
......
...@@ -6,14 +6,16 @@ ...@@ -6,14 +6,16 @@
import {TPromise} from 'vs/base/common/winjs.base'; import {TPromise} from 'vs/base/common/winjs.base';
import {IModeService} from 'vs/editor/common/services/modeService'; import {IModeService} from 'vs/editor/common/services/modeService';
import {MainThreadLanguagesShape} from './extHost.protocol';
export class MainThreadLanguages { export class MainThreadLanguages extends MainThreadLanguagesShape {
private _modeService: IModeService; private _modeService: IModeService;
constructor( constructor(
@IModeService modeService: IModeService @IModeService modeService: IModeService
) { ) {
super();
this._modeService = modeService; this._modeService = modeService;
} }
......
...@@ -9,12 +9,14 @@ import {IMessageService} from 'vs/platform/message/common/message'; ...@@ -9,12 +9,14 @@ import {IMessageService} from 'vs/platform/message/common/message';
import Severity from 'vs/base/common/severity'; import Severity from 'vs/base/common/severity';
import {Action} from 'vs/base/common/actions'; import {Action} from 'vs/base/common/actions';
import {TPromise as Promise} from 'vs/base/common/winjs.base'; import {TPromise as Promise} from 'vs/base/common/winjs.base';
import {MainThreadMessageServiceShape} from './extHost.protocol';
export class MainThreadMessageService { export class MainThreadMessageService extends MainThreadMessageServiceShape {
private _messageService: IMessageService; private _messageService: IMessageService;
constructor(@IMessageService messageService:IMessageService) { constructor(@IMessageService messageService:IMessageService) {
super();
this._messageService = messageService; this._messageService = messageService;
} }
......
...@@ -9,8 +9,9 @@ import {Registry} from 'vs/platform/platform'; ...@@ -9,8 +9,9 @@ import {Registry} from 'vs/platform/platform';
import {IOutputService, IOutputChannel, OUTPUT_PANEL_ID, Extensions, IOutputChannelRegistry} from 'vs/workbench/parts/output/common/output'; import {IOutputService, IOutputChannel, OUTPUT_PANEL_ID, Extensions, IOutputChannelRegistry} from 'vs/workbench/parts/output/common/output';
import {IPartService} from 'vs/workbench/services/part/common/partService'; import {IPartService} from 'vs/workbench/services/part/common/partService';
import {IPanelService} from 'vs/workbench/services/panel/common/panelService'; import {IPanelService} from 'vs/workbench/services/panel/common/panelService';
import {MainThreadOutputServiceShape} from './extHost.protocol';
export class MainThreadOutputService { export class MainThreadOutputService extends MainThreadOutputServiceShape {
private _outputService: IOutputService; private _outputService: IOutputService;
private _partService: IPartService; private _partService: IPartService;
...@@ -20,6 +21,7 @@ export class MainThreadOutputService { ...@@ -20,6 +21,7 @@ export class MainThreadOutputService {
@IPartService partService: IPartService, @IPartService partService: IPartService,
@IPanelService panelService: IPanelService @IPanelService panelService: IPanelService
) { ) {
super();
this._outputService = outputService; this._outputService = outputService;
this._partService = partService; this._partService = partService;
this._panelService = panelService; this._panelService = panelService;
......
...@@ -8,9 +8,9 @@ import {TPromise} from 'vs/base/common/winjs.base'; ...@@ -8,9 +8,9 @@ import {TPromise} from 'vs/base/common/winjs.base';
import {IThreadService} from 'vs/workbench/services/thread/common/threadService'; import {IThreadService} from 'vs/workbench/services/thread/common/threadService';
import {IQuickOpenService, IPickOptions, IInputOptions} from 'vs/workbench/services/quickopen/common/quickOpenService'; import {IQuickOpenService, IPickOptions, IInputOptions} from 'vs/workbench/services/quickopen/common/quickOpenService';
import {InputBoxOptions} from 'vscode'; import {InputBoxOptions} from 'vscode';
import {ExtHostContext, ExtHostQuickOpenShape, MyQuickPickItems} from './extHost.protocol'; import {ExtHostContext, MainThreadQuickOpenShape, ExtHostQuickOpenShape, MyQuickPickItems} from './extHost.protocol';
export class MainThreadQuickOpen { export class MainThreadQuickOpen extends MainThreadQuickOpenShape {
private _proxy: ExtHostQuickOpenShape; private _proxy: ExtHostQuickOpenShape;
private _quickOpenService: IQuickOpenService; private _quickOpenService: IQuickOpenService;
...@@ -19,7 +19,11 @@ export class MainThreadQuickOpen { ...@@ -19,7 +19,11 @@ export class MainThreadQuickOpen {
private _contents: TPromise<MyQuickPickItems[]>; private _contents: TPromise<MyQuickPickItems[]>;
private _token: number = 0; private _token: number = 0;
constructor( @IThreadService threadService: IThreadService, @IQuickOpenService quickOpenService: IQuickOpenService) { constructor(
@IThreadService threadService: IThreadService,
@IQuickOpenService quickOpenService: IQuickOpenService
) {
super();
this._proxy = threadService.get(ExtHostContext.ExtHostQuickOpen); this._proxy = threadService.get(ExtHostContext.ExtHostQuickOpen);
this._quickOpenService = quickOpenService; this._quickOpenService = quickOpenService;
} }
......
...@@ -6,13 +6,15 @@ ...@@ -6,13 +6,15 @@
import {IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment} from 'vs/platform/statusbar/common/statusbar'; import {IStatusbarService, StatusbarAlignment as MainThreadStatusBarAlignment} from 'vs/platform/statusbar/common/statusbar';
import {IDisposable} from 'vs/base/common/lifecycle'; import {IDisposable} from 'vs/base/common/lifecycle';
import {MainThreadStatusBarShape} from './extHost.protocol';
export class MainThreadStatusBar { export class MainThreadStatusBar extends MainThreadStatusBarShape {
private mapIdToDisposable: { [id: number]: IDisposable }; private mapIdToDisposable: { [id: number]: IDisposable };
constructor( constructor(
@IStatusbarService private statusbarService: IStatusbarService @IStatusbarService private statusbarService: IStatusbarService
) { ) {
super();
this.mapIdToDisposable = Object.create(null); this.mapIdToDisposable = Object.create(null);
} }
......
...@@ -6,12 +6,14 @@ ...@@ -6,12 +6,14 @@
import {TPromise} from 'vs/base/common/winjs.base'; import {TPromise} from 'vs/base/common/winjs.base';
import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage'; import {IStorageService, StorageScope} from 'vs/platform/storage/common/storage';
import {MainThreadStorageShape} from './extHost.protocol';
export class MainThreadStorage { export class MainThreadStorage extends MainThreadStorageShape {
private _storageService: IStorageService; private _storageService: IStorageService;
constructor( @IStorageService storageService: IStorageService) { constructor( @IStorageService storageService: IStorageService) {
super();
this._storageService = storageService; this._storageService = storageService;
} }
......
...@@ -6,15 +6,17 @@ ...@@ -6,15 +6,17 @@
import {TPromise} from 'vs/base/common/winjs.base'; import {TPromise} from 'vs/base/common/winjs.base';
import {ITelemetryService, ITelemetryInfo} from 'vs/platform/telemetry/common/telemetry'; import {ITelemetryService, ITelemetryInfo} from 'vs/platform/telemetry/common/telemetry';
import {MainThreadTelemetryShape} from './extHost.protocol';
/** /**
* Helper always instantiated in the main process to receive telemetry events from remote telemetry services * Helper always instantiated in the main process to receive telemetry events from remote telemetry services
*/ */
export class MainThreadTelemetry { export class MainThreadTelemetry extends MainThreadTelemetryShape {
private _telemetryService: ITelemetryService; private _telemetryService: ITelemetryService;
constructor( @ITelemetryService telemetryService: ITelemetryService) { constructor( @ITelemetryService telemetryService: ITelemetryService) {
super();
this._telemetryService = telemetryService; this._telemetryService = telemetryService;
} }
......
...@@ -14,8 +14,9 @@ import {ICommonCodeEditor} from 'vs/editor/common/editorCommon'; ...@@ -14,8 +14,9 @@ import {ICommonCodeEditor} from 'vs/editor/common/editorCommon';
import {bulkEdit, IResourceEdit} from 'vs/editor/common/services/bulkEdit'; import {bulkEdit, IResourceEdit} from 'vs/editor/common/services/bulkEdit';
import {TPromise} from 'vs/base/common/winjs.base'; import {TPromise} from 'vs/base/common/winjs.base';
import {Uri} from 'vscode'; import {Uri} from 'vscode';
import {MainThreadWorkspaceShape} from './extHost.protocol';
export class MainThreadWorkspace { export class MainThreadWorkspace extends MainThreadWorkspaceShape {
private _activeSearches: { [id: number]: TPromise<Uri[]> } = Object.create(null); private _activeSearches: { [id: number]: TPromise<Uri[]> } = Object.create(null);
private _searchService: ISearchService; private _searchService: ISearchService;
...@@ -24,11 +25,14 @@ export class MainThreadWorkspace { ...@@ -24,11 +25,14 @@ export class MainThreadWorkspace {
private _editorService:IWorkbenchEditorService; private _editorService:IWorkbenchEditorService;
private _eventService:IEventService; private _eventService:IEventService;
constructor( @ISearchService searchService: ISearchService, constructor(
@ISearchService searchService: ISearchService,
@IWorkspaceContextService contextService: IWorkspaceContextService, @IWorkspaceContextService contextService: IWorkspaceContextService,
@ITextFileService textFileService, @ITextFileService textFileService,
@IWorkbenchEditorService editorService, @IWorkbenchEditorService editorService,
@IEventService eventService) { @IEventService eventService
) {
super();
this._searchService = searchService; this._searchService = searchService;
this._workspace = contextService.getWorkspace(); this._workspace = contextService.getWorkspace();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册