mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
remove preview flag check for ADS welcome page (#18280)
* remove preview flag for welcome page * remove old welcome page * remove vscode welcome page
This commit is contained in:
@@ -7,8 +7,6 @@ import { AddServerAction } from 'sql/workbench/services/objectExplorer/browser/c
|
|||||||
import { escape } from 'vs/base/common/strings';
|
import { escape } from 'vs/base/common/strings';
|
||||||
import { localize } from 'vs/nls';
|
import { localize } from 'vs/nls';
|
||||||
|
|
||||||
const previewImgDescription = escape(localize('welcomePage.previewBody', "This feature page is in preview. Preview features introduce new functionalities that are on track to becoming a permanent part the product. They are stable, but need additional accessibility improvements. We welcome your early feedback while they are under development."));
|
|
||||||
|
|
||||||
// Note - this content is passed through an HTML sanitizer defined in src\vs\base\browser\dom.ts (safeInnerHtml). If something
|
// Note - this content is passed through an HTML sanitizer defined in src\vs\base\browser\dom.ts (safeInnerHtml). If something
|
||||||
// isn't rendering correctly make sure that the tags/attributes and schemas are all listed in the allowed lists.
|
// isn't rendering correctly make sure that the tags/attributes and schemas are all listed in the allowed lists.
|
||||||
export default () => `
|
export default () => `
|
||||||
@@ -17,11 +15,6 @@ export default () => `
|
|||||||
<div class="ads-homepage splash">
|
<div class="ads-homepage splash">
|
||||||
<div class="gradient">
|
<div class="gradient">
|
||||||
<div class="content-container">
|
<div class="content-container">
|
||||||
<div class="ads-homepage-section tool-tip">
|
|
||||||
<div class="tool-tip-container" id="tool-tip-container-wide">
|
|
||||||
<a role="img" tabindex=0 class="ads-welcome-page-link preview-link" aria-label="${previewImgDescription}" title="${previewImgDescription}" id="preview-link-wide" tabindex="0" name="preview"><p>${escape(localize('welcomePage.preview', "Preview"))}</p><i class="icon-info themed-icon"></i></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="ads-homepage-section section header hero">
|
<div class="ads-homepage-section section header hero">
|
||||||
<div class="row start">
|
<div class="row start">
|
||||||
<div class="header-top-nav">
|
<div class="header-top-nav">
|
||||||
|
|||||||
@@ -270,14 +270,6 @@
|
|||||||
cursor: default
|
cursor: default
|
||||||
}
|
}
|
||||||
|
|
||||||
.ads-homepage .preview-link {
|
|
||||||
padding: 4px
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-homepage .preview-link i {
|
|
||||||
margin-right: 4px
|
|
||||||
}
|
|
||||||
|
|
||||||
.ads-homepage .preview-text {
|
.ads-homepage .preview-text {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: flex-end;
|
justify-content: flex-end;
|
||||||
|
|||||||
@@ -1,77 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------------------------
|
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
||||||
*--------------------------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
import { AddServerAction } from 'sql/workbench/services/objectExplorer/browser/connectionTreeAction';
|
|
||||||
import { escape } from 'vs/base/common/strings';
|
|
||||||
import { localize } from 'vs/nls';
|
|
||||||
|
|
||||||
export default () => `
|
|
||||||
<div class="welcomePageContainer2">
|
|
||||||
<div class="welcomePage2">
|
|
||||||
<div class="title">
|
|
||||||
<h1 class="caption">${escape(localize('welcomePage.azdata', "Azure Data Studio"))}</h1>
|
|
||||||
<p class="subtitle detail"></p>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="splash">
|
|
||||||
<div class="section start">
|
|
||||||
<h2 class="caption">${escape(localize('welcomePage.start', "Start"))}</h2>
|
|
||||||
<ul>
|
|
||||||
<li><a href="command:${AddServerAction.ID}">${escape(localize('welcomePage.newConnection', "New connection"))}</a></li>
|
|
||||||
<li><a href="command:workbench.action.files.newUntitledFile">${escape(localize('welcomePage.newQuery', "New query"))}</a></li>
|
|
||||||
<li><a href="command:notebook.command.new">${escape(localize('welcomePage.newNotebook', "New notebook"))}</a></li>
|
|
||||||
<li class="mac-only"><a href="command:workbench.action.files.openLocalFileFolder">${escape(localize('welcomePage.openFileMac', "Open file"))}</a></li>
|
|
||||||
<li class="windows-only linux-only"><a href="command:workbench.action.files.openFile">${escape(localize('welcomePage.openFileLinuxPC', "Open file"))}</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="section deploy">
|
|
||||||
<h2 class="caption">${escape(localize('welcomePage.deploy', "Deploy"))}</h2>
|
|
||||||
<ul>
|
|
||||||
<li><a href="command:azdata.resource.deploy">${escape(localize('welcomePage.newDeployment', "New Deployment…"))}</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="section recent">
|
|
||||||
<h2 class="caption">${escape(localize('welcomePage.recent', "Recent"))}</h2>
|
|
||||||
<ul class="list">
|
|
||||||
<!-- Filled programmatically -->
|
|
||||||
<li class="moreRecent"><a href="command:workbench.action.openRecent">${escape(localize('welcomePage.moreRecent', "More..."))}</a><span class="path detail if_shortcut" data-command="workbench.action.openRecent">(<span class="shortcut" data-command="workbench.action.openRecent"></span>)</span></li>
|
|
||||||
</ul>
|
|
||||||
<p class="none detail">${escape(localize('welcomePage.noRecentFolders', "No recent folders"))}</p>
|
|
||||||
</div>
|
|
||||||
<div class="section help">
|
|
||||||
<h2 class="caption">${escape(localize('welcomePage.help', "Help"))}</h2>
|
|
||||||
<ul>
|
|
||||||
<li><a href="https://aka.ms/get-started-azdata">${escape(localize('welcomePage.gettingStarted', "Getting started"))}</a></li>
|
|
||||||
<li><a href="https://aka.ms/azuredatastudio">${escape(localize('welcomePage.productDocumentation', "Documentation"))}</a></li>
|
|
||||||
<li><a href="https://github.com/Microsoft/azuredatastudio/issues/new/choose">${escape(localize('welcomePage.reportIssue', "Report issue or feature request"))}</a></li>
|
|
||||||
<li><a href="https://github.com/Microsoft/azuredatastudio">${escape(localize('welcomePage.gitHubRepository', "GitHub repository"))}</a></li>
|
|
||||||
<li><a href="https://aka.ms/azuredatastudio-releasenotes">${escape(localize('welcomePage.releaseNotes', "Release notes"))}</a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<p class="showOnStartup"><input type="checkbox" id="showOnStartup" class="checkbox"> <label class="caption" for="showOnStartup">${escape(localize('welcomePage.showOnStartup', "Show welcome page on startup"))}</label></p>
|
|
||||||
</div>
|
|
||||||
<div class="commands">
|
|
||||||
<div class="section customize">
|
|
||||||
<h2 class="caption">${escape(localize('welcomePage.customize', "Customize"))}</h2>
|
|
||||||
<div class="list">
|
|
||||||
<div class="item selectTheme"><button data-href="command:workbench.view.extensions"><h3 class="caption">${escape(localize('welcomePage.extensions', "Extensions"))}</h3> <span class="detail">${escape(localize('welcomePage.extensionDescription', "Download extensions that you need, including the SQL Server Admin pack and more"))}</span></button></div>
|
|
||||||
<div class="item selectTheme"><button data-href="command:workbench.action.openGlobalKeybindings"><h3 class="caption">${escape(localize('welcomePage.keyboardShortcut', "Keyboard Shortcuts"))}</h3> <span class="detail">${escape(localize('welcomePage.keyboardShortcutDescription', "Find your favorite commands and customize them"))}</span></button></div>
|
|
||||||
<div class="item selectTheme"><button data-href="command:workbench.action.selectTheme"><h3 class="caption">${escape(localize('welcomePage.colorTheme', "Color theme"))}</h3> <span class="detail">${escape(localize('welcomePage.colorThemeDescription', "Make the editor and your code look the way you love"))}</span></button></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="section learn">
|
|
||||||
<h2 class="caption">${escape(localize('welcomePage.learn', "Learn"))}</h2>
|
|
||||||
<div class="list">
|
|
||||||
<div class="item showCommands"><button data-href="command:workbench.action.showCommands"><h3 class="caption">${escape(localize('welcomePage.showCommands', "Find and run all commands"))}</h3> <span class="detail">${escape(localize('welcomePage.showCommandsDescription', "Rapidly access and search commands from the Command Palette ({0})"))
|
|
||||||
.replace('{0}', '<span class="shortcut" data-command="workbench.action.showCommands"></span>')}</span></button></div>
|
|
||||||
<div class="item showInterfaceOverview"><button data-href="https://aka.ms/azdata-blog"><h3 class="caption">${escape(localize('welcomePage.azdataBlog', "Discover what's new in the latest release"))}</h3> <span class="detail">${escape(localize('welcomePage.azdataBlogDescription', "New monthly blog posts each month showcasing our new features"))}</span></button></div>
|
|
||||||
<div class="item showInteractivePlayground"><button data-href="https://twitter.com/azuredatastudio"><h3 class="caption">${escape(localize('welcomePage.followTwitter', "Follow us on Twitter"))}</h3> <span class="detail">${escape(localize('welcomePage.followTwitterDescription', "Keep up to date with how the community is using Azure Data Studio and to talk directly with the engineers."))}</span></button></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
`;
|
|
||||||
@@ -9,10 +9,8 @@ import { Registry } from 'vs/platform/registry/common/platform';
|
|||||||
import { WelcomePageContribution, WelcomePageAction, WelcomeInputSerializer } from 'sql/workbench/contrib/welcome/page/browser/welcomePage'; // {{SQL CARBON EDIT}} use our welcome page
|
import { WelcomePageContribution, WelcomePageAction, WelcomeInputSerializer } from 'sql/workbench/contrib/welcome/page/browser/welcomePage'; // {{SQL CARBON EDIT}} use our welcome page
|
||||||
import { IWorkbenchActionRegistry, Extensions as ActionExtensions, CATEGORIES } from 'vs/workbench/common/actions'; // {{SQL CARBON EDIT}}
|
import { IWorkbenchActionRegistry, Extensions as ActionExtensions, CATEGORIES } from 'vs/workbench/common/actions'; // {{SQL CARBON EDIT}}
|
||||||
import { MenuId, MenuRegistry, SyncActionDescriptor } from 'vs/platform/actions/common/actions'; // {{SQL CARBON EDIT}}
|
import { MenuId, MenuRegistry, SyncActionDescriptor } from 'vs/platform/actions/common/actions'; // {{SQL CARBON EDIT}}
|
||||||
import { WelcomePageContribution as WelcomePageContributionVs } from 'vs/workbench/contrib/welcome/page/browser/welcomePage'; // {{SQL CARBON EDIT}} use our welcome page
|
|
||||||
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry';
|
import { IConfigurationRegistry, Extensions as ConfigurationExtensions, ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry';
|
||||||
import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle';
|
import { LifecyclePhase } from 'vs/workbench/services/lifecycle/common/lifecycle';
|
||||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; // {{SQL CARBON EDIT}} - use our welcome page
|
|
||||||
import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuration';
|
import { workbenchConfigurationNodeBase } from 'vs/workbench/common/configuration';
|
||||||
import { EditorExtensions, IEditorFactoryRegistry } from 'vs/workbench/common/editor';
|
import { EditorExtensions, IEditorFactoryRegistry } from 'vs/workbench/common/editor';
|
||||||
|
|
||||||
@@ -38,15 +36,9 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// {{SQL CARBON EDIT}} - determine whether to show preview or stable welcome page
|
// {{SQL CARBON EDIT}}
|
||||||
class WelcomeContributions {
|
class WelcomeContributions {
|
||||||
constructor(
|
constructor() {
|
||||||
@IConfigurationService configurationService: IConfigurationService,
|
|
||||||
) {
|
|
||||||
const previewFeaturesEnabled: boolean = configurationService.getValue('workbench')['enablePreviewFeatures'];
|
|
||||||
if (previewFeaturesEnabled) {
|
|
||||||
|
|
||||||
|
|
||||||
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
|
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
|
||||||
.registerWorkbenchContribution(WelcomePageContribution, LifecyclePhase.Restored);
|
.registerWorkbenchContribution(WelcomePageContribution, LifecyclePhase.Restored);
|
||||||
|
|
||||||
@@ -54,17 +46,12 @@ class WelcomeContributions {
|
|||||||
.registerWorkbenchAction(SyncActionDescriptor.create(WelcomePageAction, WelcomePageAction.ID, WelcomePageAction.LABEL), 'Help: Welcome', CATEGORIES.Help.value);
|
.registerWorkbenchAction(SyncActionDescriptor.create(WelcomePageAction, WelcomePageAction.ID, WelcomePageAction.LABEL), 'Help: Welcome', CATEGORIES.Help.value);
|
||||||
|
|
||||||
Registry.as<IEditorFactoryRegistry>(EditorExtensions.EditorFactory).registerEditorSerializer(WelcomeInputSerializer.ID, WelcomeInputSerializer);
|
Registry.as<IEditorFactoryRegistry>(EditorExtensions.EditorFactory).registerEditorSerializer(WelcomeInputSerializer.ID, WelcomeInputSerializer);
|
||||||
|
|
||||||
} else {
|
|
||||||
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
|
|
||||||
.registerWorkbenchContribution(WelcomePageContributionVs, LifecyclePhase.Restored);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
|
Registry.as<IWorkbenchContributionsRegistry>(WorkbenchExtensions.Workbench)
|
||||||
.registerWorkbenchContribution(WelcomeContributions, LifecyclePhase.Starting);
|
.registerWorkbenchContribution(WelcomeContributions, LifecyclePhase.Starting);
|
||||||
// {{SQL CARBON EDIT}} - end preview startup customization
|
// {{SQL CARBON EDIT}}
|
||||||
|
|
||||||
// {{SQL CARBON EDIT}} We still use legacy welcome page - not walkthrough
|
// {{SQL CARBON EDIT}} We still use legacy welcome page - not walkthrough
|
||||||
MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, {
|
MenuRegistry.appendMenuItem(MenuId.MenubarHelpMenu, {
|
||||||
|
|||||||
@@ -1,140 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------------------------
|
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
||||||
*--------------------------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
import { URI } from 'vs/base/common/uri';
|
|
||||||
import { ICommandService } from 'vs/platform/commands/common/commands';
|
|
||||||
import * as arrays from 'vs/base/common/arrays';
|
|
||||||
import { IWorkbenchContribution } from 'vs/workbench/common/contributions';
|
|
||||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
|
||||||
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
|
|
||||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
|
||||||
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
|
|
||||||
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
|
|
||||||
import { IWorkingCopyBackupService } from 'vs/workbench/services/workingCopy/common/workingCopyBackup';
|
|
||||||
import { ILifecycleService, StartupKind } from 'vs/workbench/services/lifecycle/common/lifecycle';
|
|
||||||
import { IFileService } from 'vs/platform/files/common/files';
|
|
||||||
import { joinPath } from 'vs/base/common/resources';
|
|
||||||
import { IEditorOptions } from 'vs/platform/editor/common/editor';
|
|
||||||
import { IWorkbenchLayoutService } from 'vs/workbench/services/layout/browser/layoutService';
|
|
||||||
import { GettingStartedInput, gettingStartedInputTypeId } from 'vs/workbench/contrib/welcome/gettingStarted/browser/gettingStartedInput';
|
|
||||||
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
|
|
||||||
import { IStorageService, StorageScope, StorageTarget } from 'vs/platform/storage/common/storage';
|
|
||||||
import 'sql/workbench/contrib/welcome2/page/browser/az_data_welcome_page'; // {{SQL CARBON EDIT}}
|
|
||||||
|
|
||||||
const configurationKey = 'workbench.startupEditor';
|
|
||||||
const oldConfigurationKey = 'workbench.welcome.enabled';
|
|
||||||
const telemetryOptOutStorageKey = 'workbench.telemetryOptOutShown';
|
|
||||||
|
|
||||||
export class WelcomePageContribution implements IWorkbenchContribution {
|
|
||||||
|
|
||||||
constructor(
|
|
||||||
@IInstantiationService private readonly instantiationService: IInstantiationService,
|
|
||||||
@IConfigurationService private readonly configurationService: IConfigurationService,
|
|
||||||
@IEditorService private readonly editorService: IEditorService,
|
|
||||||
@IWorkingCopyBackupService private readonly workingCopyBackupService: IWorkingCopyBackupService,
|
|
||||||
@IFileService private readonly fileService: IFileService,
|
|
||||||
@IWorkspaceContextService private readonly contextService: IWorkspaceContextService,
|
|
||||||
@ILifecycleService private readonly lifecycleService: ILifecycleService,
|
|
||||||
@IWorkbenchLayoutService private readonly layoutService: IWorkbenchLayoutService,
|
|
||||||
@ICommandService private readonly commandService: ICommandService,
|
|
||||||
@IWorkbenchEnvironmentService private readonly environmentService: IWorkbenchEnvironmentService,
|
|
||||||
@IStorageService private readonly storageService: IStorageService
|
|
||||||
) {
|
|
||||||
this.run().then(undefined, onUnexpectedError);
|
|
||||||
}
|
|
||||||
|
|
||||||
private async run() {
|
|
||||||
|
|
||||||
// Always open Welcome page for first-launch, no matter what is open or which startupEditor is set.
|
|
||||||
if (this.configurationService.getValue('telemetry.enableTelemetry') && !this.storageService.get(telemetryOptOutStorageKey, StorageScope.GLOBAL)) {
|
|
||||||
this.storageService.store(telemetryOptOutStorageKey, true, StorageScope.GLOBAL, StorageTarget.USER);
|
|
||||||
await this.openWelcome(true);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const enabled = isWelcomePageEnabled(this.configurationService, this.contextService, this.environmentService);
|
|
||||||
if (enabled && this.lifecycleService.startupKind !== StartupKind.ReloadedWindow) {
|
|
||||||
const hasBackups = await this.workingCopyBackupService.hasBackups();
|
|
||||||
if (hasBackups) { return; }
|
|
||||||
|
|
||||||
// Open the welcome even if we opened a set of default editors
|
|
||||||
if (!this.editorService.activeEditor || this.layoutService.openedDefaultEditors) {
|
|
||||||
const startupEditorSetting = this.configurationService.inspect<string>(configurationKey);
|
|
||||||
|
|
||||||
// 'readme' should not be set in workspace settings to prevent tracking,
|
|
||||||
// but it can be set as a default (as in codespaces) or a user setting
|
|
||||||
const openWithReadme = startupEditorSetting.value === 'readme' &&
|
|
||||||
(startupEditorSetting.userValue === 'readme' || startupEditorSetting.defaultValue === 'readme');
|
|
||||||
|
|
||||||
if (openWithReadme) {
|
|
||||||
await this.openReadme();
|
|
||||||
} else {
|
|
||||||
await this.openWelcome();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async openReadme() {
|
|
||||||
const readmes = arrays.coalesce(
|
|
||||||
await Promise.all(this.contextService.getWorkspace().folders.map(
|
|
||||||
async folder => {
|
|
||||||
const folderUri = folder.uri;
|
|
||||||
const folderStat = await this.fileService.resolve(folderUri).catch(onUnexpectedError);
|
|
||||||
const files = folderStat?.children ? folderStat.children.map(child => child.name).sort() : [];
|
|
||||||
const file = files.find(file => file.toLowerCase() === 'readme.md') || files.find(file => file.toLowerCase().startsWith('readme'));
|
|
||||||
if (file) { return joinPath(folderUri, file); }
|
|
||||||
else { return undefined; }
|
|
||||||
})));
|
|
||||||
|
|
||||||
if (!this.editorService.activeEditor) {
|
|
||||||
if (readmes.length) {
|
|
||||||
const isMarkDown = (readme: URI) => readme.path.toLowerCase().endsWith('.md');
|
|
||||||
await Promise.all([
|
|
||||||
this.commandService.executeCommand('markdown.showPreview', null, readmes.filter(isMarkDown), { locked: true }),
|
|
||||||
this.editorService.openEditors(readmes.filter(readme => !isMarkDown(readme)).map(readme => ({ resource: readme }))),
|
|
||||||
]);
|
|
||||||
} else {
|
|
||||||
await this.openWelcome();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private async openWelcome(showTelemetryNotice?: boolean) {
|
|
||||||
const startupEditorTypeID = gettingStartedInputTypeId;
|
|
||||||
const editor = this.editorService.activeEditor;
|
|
||||||
|
|
||||||
// Ensure that the welcome editor won't get opened more than once
|
|
||||||
if (editor?.typeId === startupEditorTypeID || this.editorService.editors.some(e => e.typeId === startupEditorTypeID)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const options: IEditorOptions = editor ? { pinned: false, index: 0 } : { pinned: false };
|
|
||||||
if (startupEditorTypeID === gettingStartedInputTypeId) {
|
|
||||||
this.editorService.openEditor(this.instantiationService.createInstance(GettingStartedInput, { showTelemetryNotice }), options);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function isWelcomePageEnabled(configurationService: IConfigurationService, contextService: IWorkspaceContextService, environmentService: IWorkbenchEnvironmentService) {
|
|
||||||
if (environmentService.skipWelcome) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
const startupEditor = configurationService.inspect<string>(configurationKey);
|
|
||||||
if (!startupEditor.userValue && !startupEditor.workspaceValue) {
|
|
||||||
const welcomeEnabled = configurationService.inspect(oldConfigurationKey);
|
|
||||||
if (welcomeEnabled.value !== undefined && welcomeEnabled.value !== null) {
|
|
||||||
return welcomeEnabled.value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (startupEditor.value === 'readme' && startupEditor.userValue !== 'readme' && startupEditor.defaultValue !== 'readme') {
|
|
||||||
console.error(`Warning: 'workbench.startupEditor: readme' setting ignored due to being set somewhere other than user or default settings (user=${startupEditor.userValue}, default=${startupEditor.defaultValue})`);
|
|
||||||
}
|
|
||||||
return startupEditor.value === 'welcomePage'
|
|
||||||
|| startupEditor.value === 'readme' && (startupEditor.userValue === 'readme' || startupEditor.defaultValue === 'readme')
|
|
||||||
|| (contextService.getWorkbenchState() === WorkbenchState.EMPTY && startupEditor.value === 'welcomePageInEmptyWorkbench');
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user