Add view properties to VM tree items (#152)
This commit is contained in:
Родитель
a8b70a0c53
Коммит
b8dd5a79ba
27
package.json
27
package.json
|
@ -39,14 +39,15 @@
|
|||
"azureVirtualMachines.selectSubscriptions",
|
||||
"onCommand:azureVirtualMachines.refresh",
|
||||
"onCommand:azureVirtualMachines.loadMore",
|
||||
"azureVirtualMachines.createVirtualMachine",
|
||||
"azureVirtualMachines.createVirtualMachineAdvanced",
|
||||
"azureVirtualMachines.startVirtualMachine",
|
||||
"azureVirtualMachines.restartVirtualMachine",
|
||||
"azureVirtualMachines.stopVirtualMachine",
|
||||
"azureVirtualMachines.addSshKey",
|
||||
"azureVirtualMachines.deleteVirtualMachine",
|
||||
"onCommand:azureVirtualMachines.createVirtualMachine",
|
||||
"onCommand:azureVirtualMachines.createVirtualMachineAdvanced",
|
||||
"onCommand:azureVirtualMachines.startVirtualMachine",
|
||||
"onCommand:azureVirtualMachines.restartVirtualMachine",
|
||||
"onCommand:azureVirtualMachines.stopVirtualMachine",
|
||||
"onCommand:azureVirtualMachines.addSshKey",
|
||||
"onCommand:azureVirtualMachines.deleteVirtualMachine",
|
||||
"onCommand:azureVirtualMachines.openInPortal",
|
||||
"onCommand:azureVirtualMachines.viewProperties",
|
||||
"onView:azVmTree"
|
||||
],
|
||||
"main": "./main.js",
|
||||
|
@ -122,6 +123,11 @@
|
|||
"command": "azureVirtualMachines.copyIpAddress",
|
||||
"title": "%azureVirtualMachines.copyIpAddress%",
|
||||
"category": "Azure Virtual Machines"
|
||||
},
|
||||
{
|
||||
"command": "azureVirtualMachines.viewProperties",
|
||||
"title": "%azureVirtualMachines.viewProperties%",
|
||||
"category": "Azure Virtual Machines"
|
||||
}
|
||||
],
|
||||
"viewsContainers": {
|
||||
|
@ -186,10 +192,15 @@
|
|||
"group": "1@1"
|
||||
},
|
||||
{
|
||||
"command": "azureVirtualMachines.openInPortal",
|
||||
"command": "azureVirtualMachines.viewProperties",
|
||||
"when": "view == azVmTree && viewItem == azVmVirtualMachine",
|
||||
"group": "3@1"
|
||||
},
|
||||
{
|
||||
"command": "azureVirtualMachines.openInPortal",
|
||||
"when": "view == azVmTree && viewItem == azVmVirtualMachine",
|
||||
"group": "3@2"
|
||||
},
|
||||
{
|
||||
"command": "azureVirtualMachines.startVirtualMachine",
|
||||
"when": "view == azVmTree && viewItem == azVmVirtualMachine",
|
||||
|
|
|
@ -12,5 +12,6 @@
|
|||
"azureVirtualMachines.addSshKey": "Add SSH Key...",
|
||||
"azureVirtualMachines.enableOutputTimestamps": "Prepends each line displayed in the output channel with a timestamp.",
|
||||
"azureVirtualMachines.promptForPassphrase": "Prompts for a passphrase when creating a Linux Azure Virtual Machine.",
|
||||
"azureVirtualMachines.copyIpAddress": "Copy IP Address"
|
||||
"azureVirtualMachines.copyIpAddress": "Copy IP Address",
|
||||
"azureVirtualMachines.viewProperties": "View Properties"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IActionContext, openReadOnlyJson } from 'vscode-azureextensionui';
|
||||
import { ext } from '../extensionVariables';
|
||||
import { VirtualMachineTreeItem } from '../tree/VirtualMachineTreeItem';
|
||||
|
||||
export async function viewProperties(context: IActionContext, node?: VirtualMachineTreeItem): Promise<void> {
|
||||
if (!node) {
|
||||
node = await ext.tree.showTreeItemPicker<VirtualMachineTreeItem>(VirtualMachineTreeItem.contextValue, context);
|
||||
}
|
||||
|
||||
await openReadOnlyJson(node, node.data);
|
||||
}
|
|
@ -18,6 +18,7 @@ import { openInPortal } from './commands/openInPortal';
|
|||
import { restartVirtualMachine } from './commands/restartVirtualMachine';
|
||||
import { startVirtualMachine } from './commands/startVirtualMachine';
|
||||
import { stopVirtualMachine } from './commands/stopVirtualMachine';
|
||||
import { viewProperties } from './commands/viewProperties';
|
||||
import { ext } from './extensionVariables';
|
||||
import { AzureAccountTreeItem } from './tree/AzureAccountTreeItem';
|
||||
import { SubscriptionTreeItem } from './tree/SubscriptionTreeItem';
|
||||
|
@ -54,6 +55,7 @@ export async function activateInternal(context: vscode.ExtensionContext, perfSta
|
|||
registerCommand('azureVirtualMachines.addSshKey', addSshKey);
|
||||
registerCommand('azureVirtualMachines.deleteVirtualMachine', async (actionContext: IActionContext, node?: SubscriptionTreeItem) => await deleteNode(actionContext, VirtualMachineTreeItem.contextValue, node));
|
||||
registerCommand('azureVirtualMachines.copyIpAddress', copyIpAddress);
|
||||
registerCommand('azureVirtualMachines.viewProperties', viewProperties);
|
||||
});
|
||||
|
||||
return createApiProvider([<AzureExtensionApi>{
|
||||
|
|
|
@ -40,6 +40,10 @@ export class VirtualMachineTreeItem extends AzureTreeItem {
|
|||
return this._state?.toLowerCase() !== 'running' ? this._state : undefined;
|
||||
}
|
||||
|
||||
public get data(): ComputeManagementModels.VirtualMachine {
|
||||
return this.virtualMachine;
|
||||
}
|
||||
|
||||
public static contextValue: string = 'azVmVirtualMachine';
|
||||
public readonly contextValue: string = VirtualMachineTreeItem.contextValue;
|
||||
public virtualMachine: ComputeManagementModels.VirtualMachine;
|
||||
|
|
Загрузка…
Ссылка в новой задаче