diff --git a/Extension/package.json b/Extension/package.json index 0daca73e7..5ef9dbd29 100644 --- a/Extension/package.json +++ b/Extension/package.json @@ -856,6 +856,14 @@ "minimum": 256, "maximum": 16384 }, + "C_Cpp.intelliSenseUpdateDelay": { + "type": "number", + "default": 2000, + "description": "%c_cpp.configuration.intelliSenseUpdateDelay.description%", + "scope": "application", + "minimum": 500, + "maximum": 3000 + }, "C_Cpp.default.includePath": { "type": [ "array", diff --git a/Extension/package.nls.json b/Extension/package.nls.json index 6a6f2345c..0ad5b0051 100644 --- a/Extension/package.nls.json +++ b/Extension/package.nls.json @@ -134,6 +134,7 @@ "c_cpp.configuration.intelliSenseCachePath.description": "Defines the folder path for cached precompiled headers used by IntelliSense. The default cache path is \"%LocalAppData%/Microsoft/vscode-cpptools\" on Windows, \"$XDG_CACHE_HOME/vscode-cpptools/\" on Linux (or \"$HOME/.cache/vscode-cpptools/\" if XDG_CACHE_HOME is not defined), and \"$HOME/Library/Caches/vscode-cpptools/\" on Mac. The default path will be used if no path is specified or if a specified path is invalid.", "c_cpp.configuration.intelliSenseCacheSize.description": "Maximum size of the per-workspace hard drive space in megabytes (MB) for cached precompiled headers; the actual usage may fluctuate around this value. The default size is 5120 MB. Precompiled header caching is disabled when the size is 0.", "c_cpp.configuration.intelliSenseMemoryLimit.description": "Memory usage limit in megabytes (MB) of an IntelliSense process. The default limit is 4096 MB and the maximum limit is 16 GB. The extension will shutdown and restart an IntelliSense process when it exceeds the limit.", + "c_cpp.configuration.intelliSenseUpdateDelay.description": "Controls the delay in milliseconds before IntelliSense starts updating after a modification.", "c_cpp.configuration.default.includePath.description": "The value to use in a configuration if \"includePath\" is not specified in c_cpp_properties.json. If \"includePath\" is specified, add \"${default}\" to the array to insert the values from this setting.", "c_cpp.configuration.default.defines.description": "The value to use in a configuration if \"defines\" is not specified, or the values to insert if \"${default}\" is present in \"defines\".", "c_cpp.configuration.default.macFrameworkPath.description": "The value to use in a configuration if \"macFrameworkPath\" is not specified, or the values to insert if \"${default}\" is present in \"macFrameworkPath\".", diff --git a/Extension/src/LanguageServer/client.ts b/Extension/src/LanguageServer/client.ts index dfb98afd2..78da0bf0a 100644 --- a/Extension/src/LanguageServer/client.ts +++ b/Extension/src/LanguageServer/client.ts @@ -961,7 +961,7 @@ export class DefaultClient implements Client { const settings_spaceWithinInitializerListBraces: boolean[] = []; const settings_spacePreserveInInitializerList: boolean[] = []; const settings_spaceBeforeOpenSquareBracket: boolean[] = []; - const settings_spaceWithinSquareBracketse: boolean[] = []; + const settings_spaceWithinSquareBrackets: boolean[] = []; const settings_spaceBeforeEmptySquareBrackets: boolean[] = []; const settings_spaceBetweenEmptySquareBrackets: boolean[] = []; const settings_spaceGroupSquareBrackets: boolean[] = []; @@ -1037,7 +1037,7 @@ export class DefaultClient implements Client { settings_spaceWithinInitializerListBraces.push(setting.vcFormatSpaceWithinInitializerListBraces); settings_spacePreserveInInitializerList.push(setting.vcFormatSpacePreserveInInitializerList); settings_spaceBeforeOpenSquareBracket.push(setting.vcFormatSpaceBeforeOpenSquareBracket); - settings_spaceWithinSquareBracketse.push(setting.vcFormatSpaceWithinSquareBrackets); + settings_spaceWithinSquareBrackets.push(setting.vcFormatSpaceWithinSquareBrackets); settings_spaceBeforeEmptySquareBrackets.push(setting.vcFormatSpaceBeforeEmptySquareBrackets); settings_spaceBetweenEmptySquareBrackets.push(setting.vcFormatSpaceBetweenEmptySquareBrackets); settings_spaceGroupSquareBrackets.push(setting.vcFormatSpaceGroupSquareBrackets); @@ -1156,7 +1156,7 @@ export class DefaultClient implements Client { withinInitializerListBraces : settings_spaceWithinInitializerListBraces, preserveInInitializerList : settings_spacePreserveInInitializerList, beforeOpenSquareBracket : settings_spaceBeforeOpenSquareBracket, - withinSquareBrackets : settings_spaceWithinSquareBracketse, + withinSquareBrackets : settings_spaceWithinSquareBrackets, beforeEmptySquareBrackets : settings_spaceBeforeEmptySquareBrackets, betweenEmptySquareBrackets : settings_spaceBetweenEmptySquareBrackets, groupSquareBrackets : settings_spaceGroupSquareBrackets, @@ -1196,6 +1196,7 @@ export class DefaultClient implements Client { intelliSenseCachePath : settings_intelliSenseCachePath, intelliSenseCacheSize : settings_intelliSenseCacheSize, intelliSenseMemoryLimit : settings_intelliSenseMemoryLimit, + intelliSenseUpdateDelay: workspaceSettings.intelliSenseUpdateDelay, autocomplete: settings_autoComplete, errorSquiggles: settings_errorSquiggles, dimInactiveRegions: settings_dimInactiveRegions, diff --git a/Extension/src/LanguageServer/settings.ts b/Extension/src/LanguageServer/settings.ts index c6943a118..552227643 100644 --- a/Extension/src/LanguageServer/settings.ts +++ b/Extension/src/LanguageServer/settings.ts @@ -116,6 +116,7 @@ export class CppSettings extends Settings { public get intelliSenseCachePath(): string | undefined { return super.Section.get("intelliSenseCachePath"); } public get intelliSenseCacheSize(): number | undefined { return super.Section.get("intelliSenseCacheSize"); } public get intelliSenseMemoryLimit(): number | undefined { return super.Section.get("intelliSenseMemoryLimit"); } + public get intelliSenseUpdateDelay(): number | undefined { return super.Section.get("intelliSenseUpdateDelay"); } public get errorSquiggles(): string | undefined { return super.Section.get("errorSquiggles"); } public get inactiveRegionOpacity(): number | undefined { return super.Section.get("inactiveRegionOpacity"); } public get inactiveRegionForegroundColor(): string | undefined { return super.Section.get("inactiveRegionForegroundColor"); }