(
context: vscode.ExtensionContext,
packageJSON: any,
platformInfo: PlatformInformation,
provider: NetworkSettingsProvider,
eventStream: EventStream,
extensionPath: string,
outputChannel: vscode.OutputChannel,
reporter: ITelemetryReporter
)
| 185 | } |
| 186 | |
| 187 | async function activate( |
| 188 | context: vscode.ExtensionContext, |
| 189 | packageJSON: any, |
| 190 | platformInfo: PlatformInformation, |
| 191 | provider: NetworkSettingsProvider, |
| 192 | eventStream: EventStream, |
| 193 | extensionPath: string, |
| 194 | outputChannel: vscode.OutputChannel, |
| 195 | reporter: ITelemetryReporter |
| 196 | ) { |
| 197 | const disposables = new CompositeDisposable(); |
| 198 | |
| 199 | const omnisharpMonoResolver = new OmniSharpMonoResolver(getMonoVersion); |
| 200 | const omnisharpDotnetResolver = new DotnetResolver(platformInfo); |
| 201 | |
| 202 | const languageMiddlewareFeature = new LanguageMiddlewareFeature(); |
| 203 | languageMiddlewareFeature.register(); |
| 204 | disposables.add(languageMiddlewareFeature); |
| 205 | |
| 206 | const server = new OmniSharpServer( |
| 207 | vscode, |
| 208 | provider, |
| 209 | packageJSON, |
| 210 | platformInfo, |
| 211 | eventStream, |
| 212 | extensionPath, |
| 213 | omnisharpMonoResolver, |
| 214 | omnisharpDotnetResolver, |
| 215 | context, |
| 216 | outputChannel, |
| 217 | languageMiddlewareFeature, |
| 218 | reporter |
| 219 | ); |
| 220 | const advisor = new Advisor(server); // create before server is started |
| 221 | const testManager = new TestManager(server, eventStream, languageMiddlewareFeature); |
| 222 | const workspaceInformationProvider = new OmnisharpWorkspaceDebugInformationProvider(server); |
| 223 | |
| 224 | let registrations: Disposable | undefined; |
| 225 | disposables.add( |
| 226 | server.onServerStart(async () => { |
| 227 | registrations = await server.registerProviders(eventStream, advisor, testManager); |
| 228 | }) |
| 229 | ); |
| 230 | |
| 231 | disposables.add( |
| 232 | server.onServerStop(() => { |
| 233 | // remove language feature providers on stop |
| 234 | registrations?.dispose(); |
| 235 | registrations = undefined; |
| 236 | }) |
| 237 | ); |
| 238 | |
| 239 | disposables.add( |
| 240 | registerCommands( |
| 241 | context, |
| 242 | server, |
| 243 | platformInfo, |
| 244 | eventStream, |
no test coverage detected