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:
anjalia
2020-08-13 18:28:57 -07:00
committed by GitHub
parent 8cf82c1f8b
commit 28aa9b7912
3 changed files with 33 additions and 0 deletions

View File

@@ -4,7 +4,17 @@
*--------------------------------------------------------------------------------------------*/
import { CommandsRegistry, ICommandService } from 'vs/platform/commands/common/commands';
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 }) => {
if (extension && extension.id) {
const commandService = accessor.get(ICommandService);

View File

@@ -8,6 +8,8 @@ import { Action } from 'vs/base/common/actions';
import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
import { IExtensionsWorkbenchService, VIEWLET_ID, IExtensionsViewPaneContainer } from 'vs/workbench/contrib/extensions/common/extensions';
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 { 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));
}
}