diff --git a/extensions/sql-database-projects/src/controllers/mainController.ts b/extensions/sql-database-projects/src/controllers/mainController.ts index 805fee18b7..733d7f705c 100644 --- a/extensions/sql-database-projects/src/controllers/mainController.ts +++ b/extensions/sql-database-projects/src/controllers/mainController.ts @@ -136,7 +136,7 @@ export default class MainController implements Disposable { // TODO: what if the selected folder is outside the workspace? const newProjFolderUri = (selectionResult as Uri[])[0]; - const newProjFilePath = await this.projectsController.createNewProject(newProjName, newProjFolderUri); + const newProjFilePath = await this.projectsController.createNewProject(newProjName, newProjFolderUri, true); const proj = await this.projectsController.openProject(Uri.file(newProjFilePath)); return proj; diff --git a/extensions/sql-database-projects/src/controllers/projectController.ts b/extensions/sql-database-projects/src/controllers/projectController.ts index ccef684bb0..17cac978a3 100644 --- a/extensions/sql-database-projects/src/controllers/projectController.ts +++ b/extensions/sql-database-projects/src/controllers/projectController.ts @@ -117,7 +117,7 @@ export class ProjectsController { * @param folderUri * @param projectGuid */ - public async createNewProject(newProjName: string, folderUri: Uri, projectGuid?: string): Promise { + public async createNewProject(newProjName: string, folderUri: Uri, makeOwnFolder: boolean, projectGuid?: string): Promise { if (projectGuid && !UUID.isUUID(projectGuid)) { throw new Error(`Specified GUID is invalid: '${projectGuid}'`); } @@ -135,7 +135,7 @@ export class ProjectsController { newProjFileName += constants.sqlprojExtension; } - const newProjFilePath = path.join(folderUri.fsPath, path.parse(newProjFileName).name, newProjFileName); + const newProjFilePath = makeOwnFolder ? path.join(folderUri.fsPath, path.parse(newProjFileName).name, newProjFileName) : path.join(folderUri.fsPath, newProjFileName); let fileExists = false; try { @@ -677,7 +677,7 @@ export class ProjectsController { // TODO: Check for success // Create and open new project - const newProjFilePath = await this.createNewProject(newProjName as string, newProjFolderUri as Uri); + const newProjFilePath = await this.createNewProject(newProjName as string, newProjFolderUri as Uri, false); const project = await this.openProject(Uri.file(newProjFilePath)); //Create a list of all the files and directories to be added to project diff --git a/extensions/sql-database-projects/src/test/deployDatabaseDialog.test.ts b/extensions/sql-database-projects/src/test/deployDatabaseDialog.test.ts index 2f38deb7ab..ec2d64b22c 100644 --- a/extensions/sql-database-projects/src/test/deployDatabaseDialog.test.ts +++ b/extensions/sql-database-projects/src/test/deployDatabaseDialog.test.ts @@ -36,7 +36,7 @@ describe.skip('Deploy Database Dialog', () => { const projController = new ProjectsController(testContext.apiWrapper.object, new SqlDatabaseProjectTreeViewProvider()); const projFileDir = path.join(os.tmpdir(), `TestProject_${new Date().getTime()}`); - const projFilePath = await projController.createNewProject('TestProjectName', vscode.Uri.file(projFileDir), 'BA5EBA11-C0DE-5EA7-ACED-BABB1E70A575'); + const projFilePath = await projController.createNewProject('TestProjectName', vscode.Uri.file(projFileDir), true, 'BA5EBA11-C0DE-5EA7-ACED-BABB1E70A575'); const project = new Project(projFilePath); const deployDatabaseDialog = new DeployDatabaseDialog(testContext.apiWrapper.object, project); deployDatabaseDialog.openDialog(); @@ -48,7 +48,7 @@ describe.skip('Deploy Database Dialog', () => { const projFolder = `TestProject_${new Date().getTime()}`; const projFileDir = path.join(os.tmpdir(), projFolder); - const projFilePath = await projController.createNewProject('TestProjectName', vscode.Uri.file(projFileDir), 'BA5EBA11-C0DE-5EA7-ACED-BABB1E70A575'); + const projFilePath = await projController.createNewProject('TestProjectName', vscode.Uri.file(projFileDir), true, 'BA5EBA11-C0DE-5EA7-ACED-BABB1E70A575'); const project = new Project(projFilePath); const deployDatabaseDialog = new DeployDatabaseDialog(testContext.apiWrapper.object, project); diff --git a/extensions/sql-database-projects/src/test/projectController.test.ts b/extensions/sql-database-projects/src/test/projectController.test.ts index 1528cce485..1ee771b3ac 100644 --- a/extensions/sql-database-projects/src/test/projectController.test.ts +++ b/extensions/sql-database-projects/src/test/projectController.test.ts @@ -60,7 +60,7 @@ describe('ProjectsController: project controller operations', function (): void const projController = new ProjectsController(testContext.apiWrapper.object, new SqlDatabaseProjectTreeViewProvider()); const projFileDir = path.join(os.tmpdir(), `TestProject_${new Date().getTime()}`); - const projFilePath = await projController.createNewProject('TestProjectName', vscode.Uri.file(projFileDir), 'BA5EBA11-C0DE-5EA7-ACED-BABB1E70A575'); + const projFilePath = await projController.createNewProject('TestProjectName', vscode.Uri.file(projFileDir), false, 'BA5EBA11-C0DE-5EA7-ACED-BABB1E70A575'); let projFileText = (await fs.readFile(projFilePath)).toString();