Make SDK-style project a checkbox option instead of separate template (#18698)

* switch to using a checkbox instead of separate template for new SDK style project

* let project provider provide sdk learn more url

* Reorder
This commit is contained in:
Kim Santiago
2022-03-11 16:54:53 -08:00
committed by GitHub
parent 4551329db0
commit 7181d4c79e
12 changed files with 101 additions and 50 deletions

View File

@@ -36,31 +36,24 @@ export class SqlDatabaseProjectProvider implements dataworkspace.IProjectProvide
*/
get supportedProjectTypes(): dataworkspace.IProjectType[] {
return [{
id: constants.emptySqlDatabaseSdkProjectTypeId,
projectFileExtension: constants.sqlprojExtension.replace(/\./g, ''),
displayName: constants.emptySdkProjectTypeDisplayName,
description: constants.emptySdkProjectTypeDescription,
icon: IconPathHelper.colorfulSqlProject,
targetPlatforms: Array.from(constants.targetPlatformToVersion.keys()),
defaultTargetPlatform: constants.defaultTargetPlatform,
linkDisplayValue: constants.learnMore,
linkLocation: constants.sdkLearnMoreUrl
},
{
id: constants.emptySqlDatabaseProjectTypeId,
projectFileExtension: constants.sqlprojExtension.replace(/\./g, ''),
displayName: constants.emptyProjectTypeDisplayName,
description: constants.emptyProjectTypeDescription,
icon: IconPathHelper.colorfulSqlProject,
targetPlatforms: Array.from(constants.targetPlatformToVersion.keys()),
defaultTargetPlatform: constants.defaultTargetPlatform
defaultTargetPlatform: constants.defaultTargetPlatform,
sdkStyleOption: true,
sdkStyleLearnMoreUrl: constants.sdkLearnMoreUrl
},
{
id: constants.edgeSqlDatabaseProjectTypeId,
projectFileExtension: constants.sqlprojExtension.replace(/\./g, ''),
displayName: constants.edgeProjectTypeDisplayName,
description: constants.edgeProjectTypeDescription,
icon: IconPathHelper.sqlEdgeProject
icon: IconPathHelper.sqlEdgeProject,
sdkStyleOption: true,
sdkStyleLearnMoreUrl: constants.sdkLearnMoreUrl
}];
}
@@ -71,12 +64,13 @@ export class SqlDatabaseProjectProvider implements dataworkspace.IProjectProvide
* @param projectTypeId the ID of the project/template
* @returns Uri of the newly created project file
*/
async createProject(name: string, location: vscode.Uri, projectTypeId: string, targetPlatform?: sqldbproj.SqlTargetPlatform): Promise<vscode.Uri> {
async createProject(name: string, location: vscode.Uri, projectTypeId: string, targetPlatform?: sqldbproj.SqlTargetPlatform, sdkStyle: boolean = true): Promise<vscode.Uri> {
const projectFile = await this.projectController.createNewProject({
newProjName: name,
folderUri: location,
projectTypeId: projectTypeId,
targetPlatform: targetPlatform
targetPlatform: targetPlatform,
sdkStyle: sdkStyle
});
return vscode.Uri.file(projectFile);