Skip to content

Commit 37f3eac

Browse files
committed
Enable/disable IntelliSense for new queries
1 parent 520ca4f commit 37f3eac

File tree

3 files changed

+21
-3
lines changed

3 files changed

+21
-3
lines changed

src/constants/constants.ts

+1
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,7 @@ export const configQueryHistoryLimit = 'queryHistoryLimit';
162162
export const configEnableQueryHistoryCapture = 'enableQueryHistoryCapture';
163163
export const configEnableQueryHistoryFeature = 'enableQueryHistoryFeature';
164164
export const configEnableExperimentalFeatures = 'mssql.enableExperimentalFeatures';
165+
export const configIntelliSense = 'intelliSense';
165166

166167
// ToolsService Constants
167168
export const serviceInstallingTo = 'Installing SQL tools service to';

src/controllers/connectionManager.ts

+16-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ import { IAccount } from '../models/contracts/azure';
2323
import * as ConnectionContracts from '../models/contracts/connection';
2424
import { ClearPooledConnectionsRequest, ConnectionSummary } from '../models/contracts/connection';
2525
import * as LanguageServiceContracts from '../models/contracts/languageService';
26-
import { EncryptOptions, IConnectionProfile } from '../models/interfaces';
26+
import { EncryptOptions, IConnectionProfile, IntelliSenseConfig } from '../models/interfaces';
2727
import { PlatformInformation, Runtime } from '../models/platform';
2828
import * as Utils from '../models/utils';
2929
import { IPrompter, IQuestion, QuestionTypes } from '../prompts/question';
@@ -872,9 +872,22 @@ export default class ConnectionManager {
872872

873873
// Note: must call flavor changed before connecting, or the timer showing an animation doesn't occur
874874
if (this.statusView) {
875-
this.statusView.languageFlavorChanged(fileUri, Constants.mssqlProviderName);
875+
// lewissanchez flag: May need to check intellisense enabled setting here
876+
const configuration = vscode.workspace.getConfiguration(Constants.extensionConfigSectionName);
877+
const intelliSenseConfig = configuration.get<IntelliSenseConfig>(Constants.configIntelliSense);
878+
const flavor = intelliSenseConfig.enableIntelliSense ? Constants.mssqlProviderName : Constants.noneProviderName;
879+
this.statusView.languageFlavorChanged(fileUri, flavor);
876880
this.statusView.connecting(fileUri, connectionCreds);
877-
this.statusView.languageFlavorChanged(fileUri, Constants.mssqlProviderName);
881+
this.statusView.languageFlavorChanged(fileUri, flavor);
882+
883+
if (flavor === Constants.noneProviderName) {
884+
SqlToolsServerClient.instance.sendNotification(LanguageServiceContracts.LanguageFlavorChangedNotification.type,
885+
<LanguageServiceContracts.DidChangeLanguageFlavorParams>{
886+
uri: fileUri,
887+
language: 'sql',
888+
flavor: flavor
889+
})
890+
}
878891
}
879892
this.vscodeWrapper.logToOutputChannel(
880893
LocalizedConstants.msgConnecting(connectionCreds.server, fileUri)

src/models/interfaces.ts

+4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,10 @@ import * as vscodeMssql from 'vscode-mssql';
1010
import { AzureAuthType } from './contracts/azure';
1111

1212
// interfaces
13+
export interface IntelliSenseConfig {
14+
enableIntelliSense: boolean;
15+
}
16+
1317
export enum ContentType {
1418
Root = 0,
1519
Messages = 1,

0 commit comments

Comments
 (0)