/** * Example MSSQL Language server support in VS Code */ import { LanguageClient, ServerOptions, TransportKind, LanguageClientOptions } from "vscode-languageclient"; import * as vscode from "vscode"; let client: LanguageClient; export async function activate(context: vscode.ExtensionContext) { const serverOptions: ServerOptions = { command: "path\\to\\MicrosoftSqlToolsServiceLayer.exe", args: [ "--log-file", "path\\log\\sqltools.log", "--tracing-level", "Critical", "--application-name", "Code", "--data-path", "C:\\Users\\\\AppData\\Roaming", "--enable-sql-authentication-provider" ], transport: TransportKind.stdio }; const clientOptions: LanguageClientOptions = { documentSelector: ["sql"], diagnosticCollectionName: "mssql" }; client = new LanguageClient("SQLToolsService", serverOptions, clientOptions); context.subscriptions.push(client.start()); await client.onReady(); client.onNotification("textDocument/intelliSenseReady", () => { console.log("IntelliSenseReady"); }); console.log("client ready"); if (!vscode.window.activeTextEditor?.document.uri.toString(true)) return; const params = { ownerUri: vscode.window.activeTextEditor.document.uri.toString(true), connection: { options: { server: "", database: "", databaseDisplayName: "", authenticationType: "Integrated", encrypt: "Mandatory", trustServerCertificate: true, connectTimeout: 15, commandTimeout: 30, applicationName: "mssql" } } }; await client.sendRequest("connection/connect", params); console.log("connected"); } export function deactivate(): Thenable | undefined { if (!client) { return undefined; } return client.stop(); }