mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-17 02:51:36 -05:00
Adding Link to ADS Extension Generator Documentation in Extensions Menu (#11785)
* Link to the extension generator documentation in the extension menu * Moving actions to correct files * Reverting changes to imports in vs folder
This commit is contained in:
@@ -4,7 +4,17 @@
|
|||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
|
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
|
||||||
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
import { ServicesAccessor } from 'vs/platform/instantiation/common/instantiation';
|
||||||
|
import { Registry } from 'vs/platform/registry/common/platform';
|
||||||
|
import { IWorkbenchActionRegistry, Extensions as WorkbenchActionExtensions } from 'vs/workbench/common/actions';
|
||||||
|
import { SyncActionDescriptor } from 'vs/platform/actions/common/actions';
|
||||||
|
import { ExtensionsLabel } from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||||
|
import { OpenExtensionAuthoringDocsAction } from 'sql/workbench/contrib/extensions/browser/extensionsActions';
|
||||||
|
|
||||||
|
// Global Actions
|
||||||
|
const actionRegistry = Registry.as<IWorkbenchActionRegistry>(WorkbenchActionExtensions.WorkbenchActions);
|
||||||
|
actionRegistry.registerWorkbenchAction(SyncActionDescriptor.from(OpenExtensionAuthoringDocsAction), 'Extensions: Author an Extension...', ExtensionsLabel);
|
||||||
|
|
||||||
|
// Register Commands
|
||||||
CommandsRegistry.registerCommand('azdata.extension.open', (accessor: ServicesAccessor, extension: { id: string }) => {
|
CommandsRegistry.registerCommand('azdata.extension.open', (accessor: ServicesAccessor, extension: { id: string }) => {
|
||||||
if (extension && extension.id) {
|
if (extension && extension.id) {
|
||||||
const commandService = accessor.get(ICommandService);
|
const commandService = accessor.get(ICommandService);
|
||||||
|
|||||||
@@ -8,6 +8,8 @@ import { Action } from 'vs/base/common/actions';
|
|||||||
import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
|
import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
|
||||||
import { IExtensionsWorkbenchService, VIEWLET_ID, IExtensionsViewPaneContainer } from 'vs/workbench/contrib/extensions/common/extensions';
|
import { IExtensionsWorkbenchService, VIEWLET_ID, IExtensionsViewPaneContainer } from 'vs/workbench/contrib/extensions/common/extensions';
|
||||||
import { IExtensionRecommendation } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
|
import { IExtensionRecommendation } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
|
||||||
|
import { IOpenerService } from 'vs/platform/opener/common/opener';
|
||||||
|
import { URI } from 'vs/base/common/uri';
|
||||||
import { CancellationToken } from 'vs/base/common/cancellation';
|
import { CancellationToken } from 'vs/base/common/cancellation';
|
||||||
import { PagedModel } from 'vs/base/common/paging';
|
import { PagedModel } from 'vs/base/common/paging';
|
||||||
|
|
||||||
@@ -67,3 +69,22 @@ export class InstallRecommendedExtensionsByScenarioAction extends Action {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class OpenExtensionAuthoringDocsAction extends Action {
|
||||||
|
|
||||||
|
static readonly ID = 'workbench.extensions.action.openExtensionAuthoringDocs';
|
||||||
|
static readonly LABEL = localize('openExtensionAuthoringDocs', "Author an Extension...");
|
||||||
|
private static readonly extensionAuthoringDocsURI = 'https://docs.microsoft.com/sql/azure-data-studio/extension-authoring';
|
||||||
|
|
||||||
|
constructor(
|
||||||
|
id: string = OpenExtensionAuthoringDocsAction.ID,
|
||||||
|
label: string = OpenExtensionAuthoringDocsAction.LABEL,
|
||||||
|
@IOpenerService private readonly openerService: IOpenerService,
|
||||||
|
) {
|
||||||
|
super(id, label);
|
||||||
|
}
|
||||||
|
|
||||||
|
run(): Promise<boolean> {
|
||||||
|
return this.openerService.open(URI.parse(OpenExtensionAuthoringDocsAction.extensionAuthoringDocsURI));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import {
|
|||||||
/*RecentlyPublishedExtensionsAction, */ShowInstalledExtensionsAction, ShowOutdatedExtensionsAction, ShowDisabledExtensionsAction,
|
/*RecentlyPublishedExtensionsAction, */ShowInstalledExtensionsAction, ShowOutdatedExtensionsAction, ShowDisabledExtensionsAction,
|
||||||
ShowEnabledExtensionsAction, PredefinedExtensionFilterAction
|
ShowEnabledExtensionsAction, PredefinedExtensionFilterAction
|
||||||
} from 'vs/workbench/contrib/extensions/browser/extensionsActions';
|
} from 'vs/workbench/contrib/extensions/browser/extensionsActions';
|
||||||
|
import { OpenExtensionAuthoringDocsAction } from 'sql/workbench/contrib/extensions/browser/extensionsActions'; // {{ SQL CARBON EDIT }}
|
||||||
import { IExtensionManagementService, IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement';
|
import { IExtensionManagementService, IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement';
|
||||||
import { IWorkbenchExtensionEnablementService, IExtensionManagementServerService, IExtensionManagementServer } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
|
import { IWorkbenchExtensionEnablementService, IExtensionManagementServerService, IExtensionManagementServer } from 'vs/workbench/services/extensionManagement/common/extensionManagement';
|
||||||
import { ExtensionsInput } from 'vs/workbench/contrib/extensions/common/extensionsInput';
|
import { ExtensionsInput } from 'vs/workbench/contrib/extensions/common/extensionsInput';
|
||||||
@@ -555,6 +556,7 @@ export class ExtensionsViewPaneContainer extends ViewPaneContainer implements IE
|
|||||||
|
|
||||||
actions.push(new Separator());
|
actions.push(new Separator());
|
||||||
actions.push(this.instantiationService.createInstance(InstallVSIXAction, InstallVSIXAction.ID, InstallVSIXAction.LABEL));
|
actions.push(this.instantiationService.createInstance(InstallVSIXAction, InstallVSIXAction.ID, InstallVSIXAction.LABEL));
|
||||||
|
actions.push(this.instantiationService.createInstance(OpenExtensionAuthoringDocsAction, OpenExtensionAuthoringDocsAction.ID, OpenExtensionAuthoringDocsAction.LABEL)); // {{SQL CARBON EDIT}}
|
||||||
|
|
||||||
return actions;
|
return actions;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user