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

@@ -154,7 +154,7 @@ export class ProjectsController {
*/
public async createNewProject(creationParams: NewProjectParams): Promise<string> {
TelemetryReporter.createActionEvent(TelemetryViews.ProjectController, TelemetryActions.createNewProject)
.withAdditionalProperties({ template: creationParams.projectTypeId })
.withAdditionalProperties({ template: creationParams.projectTypeId, sdkStyle: creationParams.sdkStyle!.toString() })
.send();
if (creationParams.projectGuid && !UUID.isUUID(creationParams.projectGuid)) {
@@ -171,7 +171,7 @@ export class ProjectsController {
'PROJECT_DSP': creationParams.targetPlatform ? constants.targetPlatformToVersion.get(creationParams.targetPlatform)! : constants.defaultDSP
};
let newProjFileContents = creationParams.projectTypeId === constants.emptySqlDatabaseSdkProjectTypeId ? templates.macroExpansion(templates.newSdkSqlProjectTemplate, macroDict) : templates.macroExpansion(templates.newSqlProjectTemplate, macroDict);
let newProjFileContents = creationParams.sdkStyle ? templates.macroExpansion(templates.newSdkSqlProjectTemplate, macroDict) : templates.macroExpansion(templates.newSqlProjectTemplate, macroDict);
let newProjFileName = creationParams.newProjName;
@@ -1111,7 +1111,8 @@ export class ProjectsController {
const newProjFilePath = await this.createNewProject({
newProjName: projectInfo.projectName,
folderUri: vscode.Uri.file(projectInfo.outputFolder),
projectTypeId: constants.emptySqlDatabaseProjectTypeId
projectTypeId: constants.emptySqlDatabaseProjectTypeId,
sdkStyle: false
});
const project = await Project.openProject(newProjFilePath);
@@ -1286,7 +1287,8 @@ export class ProjectsController {
const newProjFilePath = await this.createNewProject({
newProjName: model.projName,
folderUri: vscode.Uri.file(newProjFolderUri),
projectTypeId: model.sdkStyle ? constants.emptySqlDatabaseSdkProjectTypeId : constants.emptySqlDatabaseProjectTypeId
projectTypeId: model.sdkStyle ? constants.emptySqlDatabaseSdkProjectTypeId : constants.emptySqlDatabaseProjectTypeId,
sdkStyle: model.sdkStyle
});
model.filePath = path.dirname(newProjFilePath);
@@ -1498,6 +1500,7 @@ export interface NewProjectParams {
newProjName: string;
folderUri: vscode.Uri;
projectTypeId: string;
sdkStyle: boolean;
projectGuid?: string;
targetPlatform?: SqlTargetPlatform;
}