提交 b303e7ac 编写于 作者: S Sandeep Somavarapu

use safeprocess env

上级 0e56130b
......@@ -3,11 +3,11 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { isWindows, isMacintosh, setImmediate } from 'vs/base/common/platform';
import { isWindows, isMacintosh, setImmediate, IProcessEnvironment } from 'vs/base/common/platform';
interface IProcess {
platform: string;
env: object;
env: IProcessEnvironment;
cwd(): string;
nextTick(callback: (...args: any[]) => void): number;
......
......@@ -40,8 +40,8 @@ import { extname } from 'vs/base/common/resources';
import { IExeBasedExtensionTip, IProductService } from 'vs/platform/product/common/product';
import { timeout } from 'vs/base/common/async';
import { IWorkspaceStatsService } from 'vs/workbench/contrib/stats/common/workspaceStats';
import { Platform, setImmediate, IProcessEnvironment } from 'vs/base/common/platform';
import { platform } from 'vs/base/common/process';
import { Platform, setImmediate } from 'vs/base/common/platform';
import { platform, env as processEnv } from 'vs/base/common/process';
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
const milliSecondsInADay = 1000 * 60 * 60 * 24;
......@@ -66,7 +66,7 @@ function caseInsensitiveGet<T>(obj: { [key: string]: T }, key: string): T | unde
return undefined;
}
export abstract class BaseExtensionTipsService extends Disposable implements IExtensionTipsService {
export class ExtensionTipsService extends Disposable implements IExtensionTipsService {
_serviceBrand: any;
......@@ -1020,7 +1020,6 @@ export abstract class BaseExtensionTipsService extends Disposable implements IEx
if (!windowsPath || typeof windowsPath !== 'string') {
return;
}
const processEnv = this.getProcessEnvironment();
windowsPath = windowsPath.replace('%USERPROFILE%', processEnv['USERPROFILE']!)
.replace('%ProgramFiles(x86)%', processEnv['ProgramFiles(x86)']!)
.replace('%ProgramFiles%', processEnv['ProgramFiles']!)
......@@ -1146,14 +1145,4 @@ export abstract class BaseExtensionTipsService extends Disposable implements IEx
return this._allIgnoredRecommendations.indexOf(id.toLowerCase()) === -1;
}
protected abstract getProcessEnvironment(): IProcessEnvironment;
}
export class ExtensionTipsService extends BaseExtensionTipsService implements IExtensionTipsService {
protected getProcessEnvironment(): IProcessEnvironment {
return {};
}
}
......@@ -10,7 +10,7 @@ import { Registry } from 'vs/platform/registry/common/platform';
import { SyncActionDescriptor, MenuRegistry, MenuId } from 'vs/platform/actions/common/actions';
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { ExtensionsLabel, ExtensionsChannelId, PreferencesLabel, IExtensionManagementService, IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement';
import { IExtensionManagementServerService } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
import { IExtensionManagementServerService, IExtensionTipsService } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
import { IWorkbenchActionRegistry, Extensions as WorkbenchActionExtensions } from 'vs/workbench/common/actions';
import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from 'vs/workbench/common/contributions';
import { IOutputChannelRegistry, Extensions as OutputExtensions } from 'vs/workbench/contrib/output/common/output';
......@@ -45,9 +45,11 @@ import { CancellationToken } from 'vs/base/common/cancellation';
import { ExtensionType } from 'vs/platform/extensions/common/extensions';
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
import { RemoteExtensionsInstaller } from 'vs/workbench/contrib/extensions/browser/remoteExtensionsInstaller';
import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/browser/extensionTipsService';
// Singletons
registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService);
registerSingleton(IExtensionTipsService, ExtensionTipsService);
Registry.as<IOutputChannelRegistry>(OutputExtensions.OutputChannels)
.registerChannel({ id: ExtensionsChannelId, label: ExtensionsLabel, log: false });
......
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { BaseExtensionTipsService } from 'vs/workbench/contrib/extensions/browser/extensionTipsService';
import { IProcessEnvironment } from 'vs/base/common/platform';
export class ExtensionTipsService extends BaseExtensionTipsService {
protected getProcessEnvironment(): IProcessEnvironment {
return process.env as IProcessEnvironment;
}
}
......@@ -21,11 +21,8 @@ import { RuntimeExtensionsInput } from 'vs/workbench/contrib/extensions/electron
import { URI } from 'vs/base/common/uri';
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { ExtensionsAutoProfiler } from 'vs/workbench/contrib/extensions/electron-browser/extensionsAutoProfiler';
import { IExtensionTipsService } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/electron-browser/extensionTipsService';
// Singletons
registerSingleton(IExtensionTipsService, ExtensionTipsService);
registerSingleton(IExtensionHostProfileService, ExtensionHostProfileService, true);
const workbenchRegistry = Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench);
......
......@@ -87,9 +87,6 @@ import 'vs/workbench/contrib/debug/browser/extensionHostDebugService';
import 'vs/workbench/contrib/webview/browser/webviewService';
import 'vs/workbench/contrib/webview/browser/webviewEditorService';
// Extensions Management
import 'vs/workbench/contrib/extensions/browser/extensions.web.contribution';
// Terminal
import 'vs/workbench/contrib/terminal/browser/terminalNativeService';
import 'vs/workbench/contrib/terminal/browser/terminalInstanceService';
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册