提交 ad592db0 编写于 作者: A Alex Dima

Use more const enums

上级 0b0335ae
......@@ -71,12 +71,20 @@ if (typeof process === 'object' && typeof process.nextTick === 'function' && typ
_language = _locale;
}
export enum Platform {
export const enum Platform {
Web,
Mac,
Linux,
Windows
}
export function PlatformToString(platform: Platform) {
switch (platform) {
case Platform.Web: return 'Web';
case Platform.Mac: return 'Mac';
case Platform.Linux: return 'Linux';
case Platform.Windows: return 'Windows';
}
}
let _platform: Platform = Platform.Web;
if (_isNative) {
......
......@@ -28,13 +28,22 @@ export interface IConfigurationOverrides {
resource?: URI;
}
export enum ConfigurationTarget {
export const enum ConfigurationTarget {
USER = 1,
WORKSPACE,
WORKSPACE_FOLDER,
DEFAULT,
MEMORY
}
export function ConfigurationTargetToString(configurationTarget: ConfigurationTarget) {
switch (configurationTarget) {
case ConfigurationTarget.USER: return 'USER';
case ConfigurationTarget.WORKSPACE: return 'WORKSPACE';
case ConfigurationTarget.WORKSPACE_FOLDER: return 'WORKSPACE_FOLDER';
case ConfigurationTarget.DEFAULT: return 'DEFAULT';
case ConfigurationTarget.MEMORY: return 'MEMORY';
}
}
export interface IConfigurationChangeEvent {
......
......@@ -47,18 +47,33 @@ export const enum ShutdownReason {
LOAD = 4
}
export enum StartupKind {
export const enum StartupKind {
NewWindow = 1,
ReloadedWindow = 3,
ReopenedWindow = 4,
}
export function StartupKindToString(startupKind: StartupKind): string {
switch (startupKind) {
case StartupKind.NewWindow: return 'NewWindow';
case StartupKind.ReloadedWindow: return 'ReloadedWindow';
case StartupKind.ReopenedWindow: return 'ReopenedWindow';
}
}
export enum LifecyclePhase {
export const enum LifecyclePhase {
Starting = 1,
Restoring = 2,
Running = 3,
Eventually = 4
}
export function LifecyclePhaseToString(phase: LifecyclePhase) {
switch (phase) {
case LifecyclePhase.Starting: return 'Starting';
case LifecyclePhase.Restoring: return 'Restoring';
case LifecyclePhase.Running: return 'Running';
case LifecyclePhase.Eventually: return 'Eventually';
}
}
/**
* A lifecycle service informs about lifecycle events of the
......
......@@ -6,7 +6,7 @@
import { TPromise } from 'vs/base/common/winjs.base';
import { toErrorMessage } from 'vs/base/common/errorMessage';
import { ILifecycleService, ShutdownEvent, ShutdownReason, StartupKind, LifecyclePhase, handleVetos } from 'vs/platform/lifecycle/common/lifecycle';
import { ILifecycleService, ShutdownEvent, ShutdownReason, StartupKind, LifecyclePhase, handleVetos, LifecyclePhaseToString } from 'vs/platform/lifecycle/common/lifecycle';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { ipcRenderer as ipc } from 'electron';
import { Event, Emitter } from 'vs/base/common/event';
......@@ -111,7 +111,7 @@ export class LifecycleService implements ILifecycleService {
this._logService.trace(`lifecycle: phase changed (value: ${value})`);
this._phase = value;
mark(`LifecyclePhase/${LifecyclePhase[value]}`);
mark(`LifecyclePhase/${LifecyclePhaseToString(value)}`);
if (this._phaseWhen.has(this._phase)) {
this._phaseWhen.get(this._phase).open();
......
......@@ -9,7 +9,7 @@ import { IDisposable } from 'vs/base/common/lifecycle';
import { guessMimeTypes } from 'vs/base/common/mime';
import * as paths from 'vs/base/common/paths';
import { URI } from 'vs/base/common/uri';
import { IConfigurationService, ConfigurationTarget } from 'vs/platform/configuration/common/configuration';
import { IConfigurationService, ConfigurationTarget, ConfigurationTargetToString } from 'vs/platform/configuration/common/configuration';
import { IKeybindingService, KeybindingSource } from 'vs/platform/keybinding/common/keybinding';
import { ITelemetryService, ITelemetryInfo, ITelemetryData } from 'vs/platform/telemetry/common/telemetry';
import { ILogService } from 'vs/platform/log/common/log';
......@@ -200,7 +200,7 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf
}
*/
telemetryService.publicLog('updateConfiguration', {
configurationSource: ConfigurationTarget[event.source],
configurationSource: ConfigurationTargetToString(event.source),
configurationKeys: flattenKeys(event.sourceConfig)
});
/* __GDPR__
......@@ -210,7 +210,7 @@ export function configurationTelemetry(telemetryService: ITelemetryService, conf
}
*/
telemetryService.publicLog('updateConfigurationValues', {
configurationSource: ConfigurationTarget[event.source],
configurationSource: ConfigurationTargetToString(event.source),
configurationValues: flattenValues(event.sourceConfig, configurationValueWhitelist)
});
}
......
......@@ -22,7 +22,7 @@ export function resolveCommonProperties(commit: string, version: string, machine
// __GDPR__COMMON__ "common.platformVersion" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
result['common.platformVersion'] = (os.release() || '').replace(/^(\d+)(\.\d+)?(\.\d+)?(.*)/, '$1$2$3');
// __GDPR__COMMON__ "common.platform" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" }
result['common.platform'] = Platform.Platform[Platform.platform];
result['common.platform'] = Platform.PlatformToString(Platform.platform);
// __GDPR__COMMON__ "common.nodePlatform" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }
result['common.nodePlatform'] = process.platform;
// __GDPR__COMMON__ "common.nodeArch" : { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth" }
......
......@@ -6,7 +6,7 @@
import { Registry } from 'vs/platform/registry/common/platform';
import { IInstantiationService, IConstructorSignature0 } from 'vs/platform/instantiation/common/instantiation';
import { ILifecycleService, LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
import { ILifecycleService, LifecyclePhase, LifecyclePhaseToString } from 'vs/platform/lifecycle/common/lifecycle';
import { mark } from 'vs/base/common/performance';
// --- Workbench Contribution Registry
......@@ -90,7 +90,7 @@ export class WorkbenchContributionsRegistry implements IWorkbenchContributionsRe
}
private doInstantiateByPhase(instantiationService: IInstantiationService, phase: LifecyclePhase): void {
mark(`LifecyclePhase/${LifecyclePhase[phase]}/createContrib:start`);
mark(`LifecyclePhase/${LifecyclePhaseToString(phase)}/createContrib:start`);
const toBeInstantiated = this.toBeInstantiated.get(phase);
if (toBeInstantiated) {
while (toBeInstantiated.length > 0) {
......@@ -98,7 +98,7 @@ export class WorkbenchContributionsRegistry implements IWorkbenchContributionsRe
instantiationService.createInstance(ctor);
}
}
mark(`LifecyclePhase/${LifecyclePhase[phase]}/createContrib:end`);
mark(`LifecyclePhase/${LifecyclePhaseToString(phase)}/createContrib:end`);
}
}
......
......@@ -37,7 +37,7 @@ import { QuickOpenController } from 'vs/workbench/browser/parts/quickopen/quickO
import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput';
import { QuickInputService } from 'vs/workbench/browser/parts/quickinput/quickInput';
import { getServices } from 'vs/platform/instantiation/common/extensions';
import { Position, Parts, IPartService, ILayoutOptions, IDimension } from 'vs/workbench/services/part/common/partService';
import { Position, Parts, IPartService, ILayoutOptions, IDimension, PositionToString } from 'vs/workbench/services/part/common/partService';
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { ContextMenuService as NativeContextMenuService } from 'vs/workbench/services/contextview/electron-browser/contextmenuService';
......@@ -1489,7 +1489,7 @@ export class Workbench extends Disposable implements IPartService {
const newPositionValue = (position === Position.BOTTOM) ? 'bottom' : 'right';
const oldPositionValue = (this.panelPosition === Position.BOTTOM) ? 'bottom' : 'right';
this.panelPosition = position;
this.storageService.store(Workbench.panelPositionStorageKey, Position[this.panelPosition].toLowerCase(), StorageScope.WORKSPACE);
this.storageService.store(Workbench.panelPositionStorageKey, PositionToString(this.panelPosition).toLowerCase(), StorageScope.WORKSPACE);
// Adjust CSS
DOM.removeClass(this.panelPart.getContainer(), oldPositionValue);
......
......@@ -18,7 +18,7 @@ import * as os from 'os';
import { IExtensionService, ActivationTimes } from 'vs/workbench/services/extensions/common/extensions';
import { getEntries } from 'vs/base/common/performance';
import { timeout } from 'vs/base/common/async';
import { StartupKind } from 'vs/platform/lifecycle/common/lifecycle';
import { StartupKindToString } from 'vs/platform/lifecycle/common/lifecycle';
import { Registry } from 'vs/platform/registry/common/platform';
import { IWorkbenchActionRegistry, Extensions } from 'vs/workbench/common/actions';
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
......@@ -34,7 +34,7 @@ class Info {
table['nls:start => nls:end'] = new Info(metrics.timers.ellapsedNlsGeneration, '[main]', metrics.initialStartup);
table['app.isReady => window.loadUrl()'] = new Info(metrics.timers.ellapsedWindowLoad, '[main]', metrics.initialStartup);
table['window.loadUrl() => begin to require(workbench.main.js)'] = new Info(metrics.timers.ellapsedWindowLoadToRequire, '[main->renderer]', StartupKind[metrics.windowKind]);
table['window.loadUrl() => begin to require(workbench.main.js)'] = new Info(metrics.timers.ellapsedWindowLoadToRequire, '[main->renderer]', StartupKindToString(metrics.windowKind));
table['require(workbench.main.js)'] = new Info(metrics.timers.ellapsedRequire, '[renderer]', `cached data: ${(metrics.didUseCachedData ? 'YES' : 'NO')}${nodeModuleLoadTime ? `, node_modules took ${nodeModuleLoadTime}ms` : ''}`);
table['register extensions & spawn extension host'] = new Info(metrics.timers.ellapsedExtensions, '[renderer]');
......
......@@ -19,11 +19,18 @@ export const enum Parts {
MENUBAR_PART
}
export enum Position {
export const enum Position {
LEFT,
RIGHT,
BOTTOM
}
export function PositionToString(position: Position): string {
switch (position) {
case Position.LEFT: return 'LEFT';
case Position.RIGHT: return 'RIGHT';
case Position.BOTTOM: return 'BOTTOM';
}
}
export interface ILayoutOptions {
toggleMaximizedPanel?: boolean;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册