in vscode/qodana/src/core/client/index.ts [21:54]
export async function getLanguageClient(context: vscode.ExtensionContext): Promise<LanguageClient> {
let serverOptions = await getServerOptions(context);
if (!serverOptions) {
return Promise.reject('Failed to initialize the extension: failed to get server options');
}
let clientId = 'qodana-vscode-lsclient';
let clientName = 'Qodana LS Client';
// Client options should support C#, JS, TS and Java files in documentSelector
let clientOptions: LanguageClientOptions = {
documentSelector: [
{
pattern: '**/*.*',
},
],
outputChannel: outputChannel,
revealOutputChannelOn: RevealOutputChannelOn.Never,
};
let languageClient = new LanguageClient(
clientId,
clientName,
serverOptions,
clientOptions
);
const disposeDidChange = languageClient.onDidChangeState(
async (stateChangeEvent) => {
if (stateChangeEvent.newState === State.Stopped) {
vscode.window.showErrorMessage(FAILED_TO_INITIALIZE);
} else if (stateChangeEvent.newState === State.Running) {
disposeDidChange.dispose();
}
}
);
return languageClient;
}