Add convert to SDK style project to context menu (#18847)

* differentiate between sdk and legacy style projects in tree

* switch to legacy

* add to context menu

* add function call
This commit is contained in:
Kim Santiago
2022-03-29 10:15:36 -07:00
committed by GitHub
parent 459fab256e
commit f002a26fe4
6 changed files with 37 additions and 20 deletions

View File

@@ -481,6 +481,7 @@ export const sqlAuth = 'SqlAuth';
// Tree item types
export enum DatabaseProjectItemType {
project = 'databaseProject.itemType.project',
legacyProject = 'databaseProject.itemType.legacyProject',
folder = 'databaseProject.itemType.folder',
file = 'databaseProject.itemType.file',
externalStreamingJob = 'databaseProject.itemType.file.externalStreamingJob',

View File

@@ -81,6 +81,7 @@ export default class MainController implements vscode.Disposable {
vscode.commands.registerCommand('sqlDatabaseProjects.addDatabaseReference', async (node: WorkspaceTreeItem) => { return this.projectsController.addDatabaseReference(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.openContainingFolder', async (node: WorkspaceTreeItem) => { return this.projectsController.openContainingFolder(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.editProjectFile', async (node: WorkspaceTreeItem) => { return this.projectsController.editProjectFile(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.convertToSdkStyleProject', async (node: WorkspaceTreeItem) => { return this.projectsController.convertToSdkStyleProject(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.delete', async (node: WorkspaceTreeItem) => { return this.projectsController.delete(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.exclude', async (node: WorkspaceTreeItem) => { return this.projectsController.exclude(node); });
vscode.commands.registerCommand('sqlDatabaseProjects.changeTargetPlatform', async (node: WorkspaceTreeItem) => { return this.projectsController.changeTargetPlatform(node); });

View File

@@ -47,7 +47,7 @@ export class ProjectRootTreeItem extends BaseProjectTreeItem {
public get treeItem(): vscode.TreeItem {
const projectItem = new vscode.TreeItem(this.fileSystemUri, vscode.TreeItemCollapsibleState.Expanded);
projectItem.contextValue = DatabaseProjectItemType.project;
projectItem.contextValue = this.project.isSdkStyleProject ? DatabaseProjectItemType.project : DatabaseProjectItemType.legacyProject;
projectItem.iconPath = IconPathHelper.databaseProject;
projectItem.label = path.basename(this.projectUri.fsPath, sqlprojExtension);