Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion src/vs/platform/telemetry/common/telemetry.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ export interface ITelemetryData {

export interface ITelemetryExperiments {
mergeQuickLinks: boolean;
showTaskDocumentation: boolean;
}

export interface ITelemetryService {
Expand Down
6 changes: 1 addition & 5 deletions src/vs/platform/telemetry/common/telemetryUtils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation

export const defaultExperiments: ITelemetryExperiments = {
mergeQuickLinks: false,
showTaskDocumentation: true
};

export const NullTelemetryService = {
Expand Down Expand Up @@ -46,12 +45,10 @@ export function loadExperiments(accessor: ServicesAccessor): ITelemetryExperimen

let {
mergeQuickLinks,
showTaskDocumentation,
} = splitExperimentsRandomness(storageService);

return applyOverrides({
mergeQuickLinks,
showTaskDocumentation,
}, configurationService);
}

Expand All @@ -67,14 +64,13 @@ function applyOverrides(experiments: ITelemetryExperiments, configurationService

function splitExperimentsRandomness(storageService: IStorageService): ITelemetryExperiments {
const random1 = getExperimentsRandomness(storageService);
const [random2, showTaskDocumentation] = splitRandom(random1);
const [random2, /* showTaskDocumentation */] = splitRandom(random1);
const [random3, /* openUntitledFile */] = splitRandom(random2);
const [random4, mergeQuickLinks] = splitRandom(random3);
// tslint:disable-next-line:no-unused-variable (https://github.com/Microsoft/TypeScript/issues/16628)
const [random5, /* enableWelcomePage */] = splitRandom(random4);
return {
mergeQuickLinks,
showTaskDocumentation,
};
}

Expand Down
54 changes: 0 additions & 54 deletions src/vs/workbench/parts/quickopen/common/quickopenActions.ts

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import { parseArgs } from 'vs/platform/environment/node/argv';
import { IWorkspaceContextService, Workspace } from 'vs/platform/workspace/common/workspace';
import { EnvironmentService } from 'vs/platform/environment/node/environmentService';
import extfs = require('vs/base/node/extfs');
import { TestTextFileService, TestEditorGroupService, TestLifecycleService, TestBackupFileService, TestStorageService } from 'vs/workbench/test/workbenchTestServices';
import { TestTextFileService, TestEditorGroupService, TestLifecycleService, TestBackupFileService } from 'vs/workbench/test/workbenchTestServices';
import uuid = require('vs/base/common/uuid');
import { IConfigurationRegistry, Extensions as ConfigurationExtensions } from 'vs/platform/configuration/common/configurationRegistry';
import { WorkspaceConfigurationService } from 'vs/workbench/services/configuration/node/configuration';
Expand All @@ -44,7 +44,6 @@ import { ModeServiceImpl } from 'vs/editor/common/services/modeServiceImpl';
import { IModelService } from 'vs/editor/common/services/modelService';
import { ModelServiceImpl } from 'vs/editor/common/services/modelServiceImpl';
import { IChoiceService, IMessageService } from 'vs/platform/message/common/message';
import { IStorageService } from 'vs/platform/storage/common/storage';
import { TestConfigurationService } from "vs/platform/configuration/test/common/testConfigurationService";

class SettingsTestEnvironmentService extends EnvironmentService {
Expand Down Expand Up @@ -128,12 +127,6 @@ suite('ConfigurationEditingService', () => {
instantiationService.stub(IModelService, instantiationService.createInstance(ModelServiceImpl));
instantiationService.stub(IFileService, new FileService(workspaceService, new TestConfigurationService(), { disableWatcher: true }));
instantiationService.stub(IUntitledEditorService, instantiationService.createInstance(UntitledEditorService));
instantiationService.stub(IStorageService, new TestStorageService());
instantiationService.stub(IChoiceService, {
choose: (severity, message, options, cancelId): TPromise<number> => {
return TPromise.as(cancelId);
}
});
instantiationService.stub(ITextFileService, instantiationService.createInstance(TestTextFileService));
instantiationService.stub(ITextModelService, <ITextModelService>instantiationService.createInstance(TextModelResolverService));
instantiationService.stub(IBackupFileService, new TestBackupFileService());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import { TPromise } from 'vs/base/common/winjs.base';
import { KeyCode, SimpleKeybinding, ChordKeybinding } from 'vs/base/common/keyCodes';
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
import extfs = require('vs/base/node/extfs');
import { TestTextFileService, TestEditorGroupService, TestLifecycleService, TestBackupFileService, TestContextService, TestStorageService } from 'vs/workbench/test/workbenchTestServices';
import { TestTextFileService, TestEditorGroupService, TestLifecycleService, TestBackupFileService, TestContextService } from 'vs/workbench/test/workbenchTestServices';
import { IWorkspaceContextService, Workspace } from 'vs/platform/workspace/common/workspace';
import uuid = require('vs/base/common/uuid');
import { ConfigurationService } from 'vs/platform/configuration/node/configurationService';
Expand All @@ -42,8 +42,6 @@ import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
import { KeybindingsEditingService } from 'vs/workbench/services/keybinding/common/keybindingEditing';
import { IUserFriendlyKeybinding } from 'vs/platform/keybinding/common/keybinding';
import { ResolvedKeybindingItem } from 'vs/platform/keybinding/common/resolvedKeybindingItem';
import { IChoiceService } from 'vs/platform/message/common/message';
import { IStorageService } from 'vs/platform/storage/common/storage';
import { TestConfigurationService } from "vs/platform/configuration/test/common/testConfigurationService";

interface Modifiers {
Expand All @@ -70,12 +68,6 @@ suite('Keybindings Editing', () => {
instantiationService.stub(IConfigurationService, ConfigurationService);
instantiationService.stub(IConfigurationService, 'getConfiguration', { 'eol': '\n' });
instantiationService.stub(IConfigurationService, 'onDidUpdateConfiguration', () => { });
instantiationService.stub(IStorageService, new TestStorageService());
instantiationService.stub(IChoiceService, {
choose: (severity, message, options, cancelId): TPromise<number> => {
return TPromise.as(cancelId);
}
});
instantiationService.stub(IWorkspaceContextService, new TestContextService());
instantiationService.stub(ILifecycleService, new TestLifecycleService());
instantiationService.stub(IEditorGroupService, new TestEditorGroupService());
Expand Down
63 changes: 2 additions & 61 deletions src/vs/workbench/services/textfile/common/textFileEditorModel.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,14 @@ import { BaseTextEditorModel } from 'vs/workbench/common/editor/textEditorModel'
import { IBackupFileService, BACKUP_FILE_RESOLVE_OPTIONS } from 'vs/workbench/services/backup/common/backup';
import { IFileService, IFileStat, IFileOperationResult, FileOperationResult, IContent, CONTENT_CHANGE_EVENT_BUFFER_DELAY, FileChangesEvent, FileChangeType } from 'vs/platform/files/common/files';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IMessageService, Severity, IChoiceService } from 'vs/platform/message/common/message';
import { IMessageService, Severity } from 'vs/platform/message/common/message';
import { IModeService } from 'vs/editor/common/services/modeService';
import { IModelService } from 'vs/editor/common/services/modelService';
import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import { anonymize } from 'vs/platform/telemetry/common/telemetryUtils';
import { RunOnceScheduler } from 'vs/base/common/async';
import { IRawTextSource } from 'vs/editor/common/model/textSource';
import { StorageScope, IStorageService } from 'vs/platform/storage/common/storage';
import { localize } from 'vs/nls';
import { Action } from 'vs/base/common/actions';

// TODO@Rob layer breaker
// tslint:disable-next-line:import-patterns
import { ShowTasksAction, ShowTasksDocumentationAction } from 'vs/workbench/parts/quickopen/common/quickopenActions';
/**
* The text file editor model listens to changes to its underlying code editor model and saves these changes through the file service back to the disk.
*/
Expand Down Expand Up @@ -93,8 +87,6 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil
@IBackupFileService private backupFileService: IBackupFileService,
@IEnvironmentService private environmentService: IEnvironmentService,
@IWorkspaceContextService private contextService: IWorkspaceContextService,
@IChoiceService private choiceService: IChoiceService,
@IStorageService private storageService: IStorageService
) {
super(modelService, modeService);

Expand Down Expand Up @@ -328,58 +320,7 @@ export class TextFileEditorModel extends BaseTextEditorModel implements ITextFil
// Resolve Content
return this.textFileService
.resolveTextContent(this.resource, { acceptTextOnly: true, etag, encoding: this.preferredEncoding })
.then(content => this.handleLoadSuccess(content), error => this.handleLoadError(error))
.then((result) => {
this.showTaskNotification();
return result;
});
}

private showTaskNotification(): void {
const storageKey = 'workbench.tasks.ranTaskBefore';
const ignoreKey = 'workbench.tasks.ignoreTaskNotification';
if (!this.storageService.get(ignoreKey) && !this.storageService.get(storageKey) && this.contextService.getWorkspace2()
&& this.contextService.getWorkspace2().roots && this.contextService.getWorkspace2().roots.length > 0) {
const fileName = path.relative(this.contextService.getWorkspace2().roots[0].toString(), this.resource.toString());
if (fileName.match(/^gruntfile\.js$/i) || fileName.match(/^gulpfile\.js$/i) || fileName.match(/^tsconfig\.json$/i)) {
const message = localize('taskFileOpened', `Run your {0} in VS Code. Get started here.`, fileName.split('.')[0]);
let action: Action;
let messageTest: string;
const showDocumentation = this.telemetryService.getExperiments().showTaskDocumentation;
if (showDocumentation) {
action = this.instantiationService.createInstance(ShowTasksDocumentationAction, ShowTasksDocumentationAction.ID, localize('showTaskDocumentation', "Show task Documentation"));
messageTest = ShowTasksDocumentationAction.LABEL;
} else {
action = this.instantiationService.createInstance(ShowTasksAction, ShowTasksAction.ID, localize('showTasks', "Show tasks"));
messageTest = ShowTasksAction.LABEL;
}
const options = [
messageTest,
localize('neverShowAgain', "Don't show again"),
localize('close', "Close")
];

this.choiceService.choose(Severity.Info, message, options, 2).done(choice => {
switch (choice) {
case 0: {
this.telemetryService.publicLog('taskNotificationOptionChoice',
{ choice: 0, test: showDocumentation });
return action.run();
}
case 1: {
this.telemetryService.publicLog('taskNotificationOptionChoice',
{ choice: 1, test: showDocumentation });
return this.storageService.store(ignoreKey, true, StorageScope.GLOBAL);
}
case 2: {
this.telemetryService.publicLog('taskNotificationOptionChoice',
{ choice: 2, test: showDocumentation });
return;
}
}
});
}
}
.then(content => this.handleLoadSuccess(content), error => this.handleLoadError(error));
}

private handleLoadSuccess(content: IRawTextContent): TPromise<TextFileEditorModel> {
Expand Down
7 changes: 1 addition & 6 deletions src/vs/workbench/test/workbenchTestServices.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ import { TextModelResolverService } from 'vs/workbench/services/textmodelResolve
import { ITextModelService } from 'vs/editor/common/services/resolverService';
import { IEditorInput, IEditorOptions, Position, Direction, IEditor, IResourceInput, ITextEditorOptions } from 'vs/platform/editor/common/editor';
import { IUntitledEditorService, UntitledEditorService } from 'vs/workbench/services/untitled/common/untitledEditorService';
import { IChoiceService, IMessageService, IConfirmation } from 'vs/platform/message/common/message';
import { IMessageService, IConfirmation } from 'vs/platform/message/common/message';
import { ILegacyWorkspace, IWorkspaceContextService, IWorkspace } from 'vs/platform/workspace/common/workspace';
import { ILifecycleService, ShutdownEvent, ShutdownReason, StartupKind, LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
import { EditorStacksModel } from 'vs/workbench/common/editor/editorStacksModel';
Expand Down Expand Up @@ -236,11 +236,6 @@ export function workbenchInstantiationService(): IInstantiationService {
instantiationService.stub(ITextModelService, <ITextModelService>instantiationService.createInstance(TextModelResolverService));
instantiationService.stub(IEnvironmentService, TestEnvironmentService);
instantiationService.stub(IThemeService, new TestThemeService());
instantiationService.stub(IChoiceService, {
choose: (severity, message, options, cancelId): TPromise<number> => {
return TPromise.as(cancelId);
}
});

return instantiationService;
}
Expand Down