diff --git a/src/vs/platform/workspace/common/workspace.ts b/src/vs/platform/workspace/common/workspace.ts index 540ef30e9ebf5..96ca0786824db 100644 --- a/src/vs/platform/workspace/common/workspace.ts +++ b/src/vs/platform/workspace/common/workspace.ts @@ -120,6 +120,7 @@ export interface IEnvironment { debugPluginHostPort: number; debugBrkPluginHost: boolean; + disablePlugins: boolean; logPluginHostCommunication: boolean; verboseLogging: boolean; diff --git a/src/vs/workbench/electron-main/env.ts b/src/vs/workbench/electron-main/env.ts index a84deb92cf387..76096440054f7 100644 --- a/src/vs/workbench/electron-main/env.ts +++ b/src/vs/workbench/electron-main/env.ts @@ -124,6 +124,7 @@ export interface ICommandLineArguments { debugPluginHostPort: number; debugBrkPluginHost: boolean; logPluginHostCommunication: boolean; + disablePlugins: boolean; pluginHomePath: string; pluginDevelopmentPath: string; @@ -202,7 +203,8 @@ function parseCli(): ICommandLineArguments { gotoLineMode: gotoLineMode, pluginHomePath: normalizePath(parseString(args, '--extensionHomePath')), pluginDevelopmentPath: normalizePath(parseString(args, '--extensionDevelopmentPath')), - pluginTestsPath: normalizePath(parseString(args, '--extensionTestsPath')) + pluginTestsPath: normalizePath(parseString(args, '--extensionTestsPath')), + disablePlugins: !!opts['disableExtensions'] || !!opts['disable-extensions'] }; } diff --git a/src/vs/workbench/node/pluginHostMain.ts b/src/vs/workbench/node/pluginHostMain.ts index 5e7125e8e0255..76a74bb1a4289 100644 --- a/src/vs/workbench/node/pluginHostMain.ts +++ b/src/vs/workbench/node/pluginHostMain.ts @@ -118,7 +118,7 @@ export class PluginHostMain { let collector = new PluginsMessageCollector(); let env = this.contextService.getConfiguration().env; - return PluginHostMain.scanPlugins(collector, BUILTIN_PLUGINS_PATH, env.userPluginsHome, env.pluginDevelopmentPath, env.version) + return PluginHostMain.scanPlugins(collector, BUILTIN_PLUGINS_PATH, !env.disablePlugins ? env.userPluginsHome : void 0, !env.disablePlugins ? env.pluginDevelopmentPath : void 0, env.version) .then(null, err => { collector.error('', err); return [];