MCPcopy
hub / github.com/dotnet/vscode-csharp / start

Method start

src/omnisharp/server.ts:284–595  ·  view source on GitHub ↗
(launchTarget: LaunchTarget)

Source from the content-addressed store, hash-verified

282 // --- start, stop, and connect
283
284 public async start(launchTarget: LaunchTarget): Promise<void> {
285 if (this._state.status !== ServerState.Stopped) {
286 this.eventStream.post(
287 new ObservableEvents.OmnisharpServerOnServerError(
288 'Attempt to start OmniSharp server failed because another server instance is running.'
289 )
290 );
291 return;
292 }
293
294 if (launchTarget.workspaceKind === LaunchTargetKind.LiveShare) {
295 this.eventStream.post(
296 new ObservableEvents.OmnisharpServerMessage(
297 'During Live Share sessions language services are provided by the Live Share server.'
298 )
299 );
300 return;
301 }
302
303 if (!(await validateRequirements())) {
304 this.eventStream.post(
305 new ObservableEvents.OmnisharpServerMessage(
306 'OmniSharp failed to start because of missing requirements.'
307 )
308 );
309 return;
310 }
311
312 const disposables = new CompositeDisposable();
313
314 let engine: IEngine | undefined;
315 if (omnisharpOptions.enableLspDriver) {
316 engine = new LspEngine(
317 this._eventBus,
318 this.eventStream,
319 this.context,
320 // If we are in LSP mode, then we created an LogOutputChannel originally
321 this.outputChannel as LogOutputChannel,
322 disposables,
323 this.languageMiddlewareFeature,
324 this.platformInfo,
325 this.monoResolver,
326 this.dotnetResolver
327 );
328 } else {
329 engine = new StdioEngine(
330 this._eventBus,
331 this.eventStream,
332 this.platformInfo,
333 this.monoResolver,
334 this.dotnetResolver,
335 disposables
336 );
337 }
338
339 disposables.add(
340 this.onServerError((err) => this.eventStream.post(new ObservableEvents.OmnisharpServerOnServerError(err)))
341 );

Callers 2

restartMethod · 0.95
autoStartMethod · 0.95

Calls 15

addMethod · 0.95
onServerErrorMethod · 0.95
onErrorMethod · 0.95
onStderrMethod · 0.95
onBeforeServerInstallMethod · 0.95
onBeforeServerStartMethod · 0.95
onServerStopMethod · 0.95
onServerStartMethod · 0.95

Tested by

no test coverage detected