{ "name": "sql-database-projects", "displayName": "SQL Database Projects", "description": "Enables users to develop and publish database schemas for MSSQL Databases", "version": "0.20.0", "publisher": "Microsoft", "preview": true, "engines": { "vscode": "^1.30.1", "azdata": ">=1.38.0" }, "license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt", "icon": "images/sqlDatabaseProjects.png", "aiKey": "AIF-37eefaf0-8022-4671-a3fb-64752724682e", "activationEvents": [ "onCommand:sqlDatabaseProjects.new", "onCommand:sqlDatabaseProjects.open", "onCommand:sqlDatabaseProjects.createProjectFromDatabase", "onCommand:sqlDatabaseProjects.updateProjectFromDatabase", "onCommand:sqlDatabaseProjects.generateProjectFromOpenApiSpec", "workspaceContains:**/*.sqlproj", "onView:dataworkspace.views.main" ], "main": "./out/extension", "repository": { "type": "git", "url": "https://github.com/Microsoft/azuredatastudio.git" }, "extensionDependencies": [ "Microsoft.mssql", "Microsoft.schema-compare" ], "capabilities": { "virtualWorkspaces": false, "untrustedWorkspaces": { "supported": true } }, "contributes": { "projects": [ "sqlproj" ], "configuration": [ { "title": "%sqlDatabaseProjects.Settings%", "properties": { "sqlDatabaseProjects.dotnetSDK Location": { "type": "string", "description": "%sqlDatabaseProjects.dotnetInstallLocation%" }, "sqlDatabaseProjects.netCoreDoNotAsk": { "type": "boolean", "description": "%sqlDatabaseProjects.netCoreDoNotAsk%" }, "sqlDatabaseProjects.nodejsDoNotAsk": { "type": "boolean", "description": "%sqlDatabaseProjects.nodejsDoNotAsk%" }, "sqlDatabaseProjects.autorestSqlVersion": { "type": "string", "description": "%sqlDatabaseProjects.autorestSqlVersion%" }, "sqlDatabaseProjects.collapseProjectNodes": { "type": "boolean", "description": "%sqlDatabaseProjects.collapseProjectNodes%" }, "sqlDatabaseProjects.microsoftBuildSqlVersion": { "type": "string", "description": "%sqlDatabaseProjects.microsoftBuildSqlVersion%" } } } ], "commands": [ { "command": "sqlDatabaseProjects.newScript", "title": "%sqlDatabaseProjects.newScript%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newPreDeploymentScript", "title": "%sqlDatabaseProjects.newPreDeploymentScript%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newPostDeploymentScript", "title": "%sqlDatabaseProjects.newPostDeploymentScript%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newTable", "title": "%sqlDatabaseProjects.newTable%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newView", "title": "%sqlDatabaseProjects.newView%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newExternalStreamingJob", "title": "%sqlDatabaseProjects.newExternalStreamingJob%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newStoredProcedure", "title": "%sqlDatabaseProjects.newStoredProcedure%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newItem", "title": "%sqlDatabaseProjects.newItem%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.addExistingItem", "title": "%sqlDatabaseProjects.addExistingItem%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.newFolder", "title": "%sqlDatabaseProjects.newFolder%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.delete", "title": "%sqlDatabaseProjects.delete%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.exclude", "title": "%sqlDatabaseProjects.exclude%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.build", "title": "%sqlDatabaseProjects.build%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.publish", "title": "%sqlDatabaseProjects.publish%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.properties", "title": "%sqlDatabaseProjects.properties%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.schemaCompare", "title": "%sqlDatabaseProjects.schemaCompare%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.createProjectFromDatabase", "title": "%sqlDatabaseProjects.createProjectFromDatabase%", "category": "%sqlDatabaseProjects.displayName%", "icon": "images/databaseProjectToolbar.svg" }, { "command": "sqlDatabaseProjects.updateProjectFromDatabase", "title": "%sqlDatabaseProjects.updateProjectFromDatabase%", "category": "%sqlDatabaseProjects.displayName%", "icon": "images/databaseProjectToolbar.svg" }, { "command": "sqlDatabaseProjects.addDatabaseReference", "title": "%sqlDatabaseProjects.addDatabaseReference%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.validateExternalStreamingJob", "title": "%sqlDatabaseProjects.validateExternalStreamingJob%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.openContainingFolder", "title": "%sqlDatabaseProjects.openContainingFolder%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.editProjectFile", "title": "%sqlDatabaseProjects.editProjectFile%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.changeTargetPlatform", "title": "%sqlDatabaseProjects.changeTargetPlatform%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.generateProjectFromOpenApiSpec", "title": "%sqlDatabaseProjects.generateProjectFromOpenApiSpec%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.convertToSdkStyleProject", "title": "%sqlDatabaseProjects.convertToSdkStyleProject%", "category": "%sqlDatabaseProjects.displayName%" }, { "command": "sqlDatabaseProjects.openInDesigner", "title": "%sqlDatabaseProjects.openInDesigner%", "category": "%sqlDatabaseProjects.displayName%" } ], "menus": { "view/title": [ { "command": "sqlDatabaseProjects.createProjectFromDatabase", "when": "view == dataworkspace.views.main", "group": "1_currentWorkspace@1" }, { "command": "sqlDatabaseProjects.updateProjectFromDatabase", "when": "view == dataworkspace.views.main && azdataAvailable", "group": "1_currentWorkspace@2" }, { "command": "sqlDatabaseProjects.generateProjectFromOpenApiSpec", "when": "view == dataworkspace.views.main", "group": "1_currentWorkspace@3" } ], "commandPalette": [ { "command": "sqlDatabaseProjects.newScript", "when": "false" }, { "command": "sqlDatabaseProjects.newPreDeploymentScript", "when": "false" }, { "command": "sqlDatabaseProjects.newPostDeploymentScript", "when": "false" }, { "command": "sqlDatabaseProjects.newTable", "when": "false" }, { "command": "sqlDatabaseProjects.newView", "when": "false" }, { "command": "sqlDatabaseProjects.newExternalStreamingJob", "when": "false" }, { "command": "sqlDatabaseProjects.newStoredProcedure", "when": "false" }, { "command": "sqlDatabaseProjects.newItem", "when": "false" }, { "command": "sqlDatabaseProjects.addExistingItem", "when": "false" }, { "command": "sqlDatabaseProjects.newFolder", "when": "false" }, { "command": "sqlDatabaseProjects.delete", "when": "false" }, { "command": "sqlDatabaseProjects.build", "when": "false" }, { "command": "sqlDatabaseProjects.publish", "when": "false" }, { "command": "sqlDatabaseProjects.properties", "when": "false" }, { "command": "sqlDatabaseProjects.schemaCompare", "when": "false" }, { "command": "sqlDatabaseProjects.createProjectFromDatabase" }, { "command": "sqlDatabaseProjects.updateProjectFromDatabase", "when": "false" }, { "command": "sqlDatabaseProjects.addDatabaseReference", "when": "false" }, { "command": "sqlDatabaseProjects.validateExternalStreamingJob", "when": "false" }, { "command": "sqlDatabaseProjects.openContainingFolder", "when": "false" }, { "command": "sqlDatabaseProjects.editProjectFile", "when": "false" }, { "command": "sqlDatabaseProjects.exclude", "when": "false" }, { "command": "sqlDatabaseProjects.changeTargetPlatform", "when": "false" }, { "command": "sqlDatabaseProjects.convertToSdkStyleProject", "when": "false" }, { "command": "sqlDatabaseProjects.openInDesigner", "when": "false" } ], "view/item/context": [ { "command": "sqlDatabaseProjects.build", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/", "group": "1_dbProjectsFirst@1" }, { "command": "sqlDatabaseProjects.publish", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/", "group": "1_dbProjectsFirst@2" }, { "command": "sqlDatabaseProjects.schemaCompare", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ && azdataAvailable", "group": "1_dbProjectsFirst@3" }, { "command": "sqlDatabaseProjects.updateProjectFromDatabase", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ && azdataAvailable", "group": "1_dbProjectsFirst@4" }, { "command": "sqlDatabaseProjects.newItem", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "2_dbProjects_newMain@1" }, { "command": "sqlDatabaseProjects.addExistingItem", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "2_dbProjects_newMain@2" }, { "command": "sqlDatabaseProjects.newFolder", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "2_dbProjects_newMain@3" }, { "command": "sqlDatabaseProjects.newTable", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "3_dbProjects_newItem@1" }, { "command": "sqlDatabaseProjects.newView", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "3_dbProjects_newItem@2" }, { "command": "sqlDatabaseProjects.newStoredProcedure", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "3_dbProjects_newItem@3" }, { "command": "sqlDatabaseProjects.newExternalStreamingJob", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "3_dbProjects_newItem@4" }, { "command": "sqlDatabaseProjects.newScript", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "3_dbProjects_newItem@7" }, { "command": "sqlDatabaseProjects.newPreDeploymentScript", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "3_dbProjects_newItem@8" }, { "command": "sqlDatabaseProjects.newPostDeploymentScript", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/ || viewItem == databaseProject.itemType.folder", "group": "3_dbProjects_newItem@9" }, { "command": "sqlDatabaseProjects.addDatabaseReference", "when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.referencesRoot", "group": "4_dbProjects_addDatabaseReference" }, { "command": "sqlDatabaseProjects.validateExternalStreamingJob", "when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.file.externalStreamingJob", "group": "5_dbProjects_streamingJob" }, { "command": "sqlDatabaseProjects.openInDesigner", "when": "azdataAvailable && view == dataworkspace.views.main && viewItem == databaseProject.itemType.file.table", "group": "6_dbProjects_openInDesigner" }, { "command": "sqlDatabaseProjects.exclude", "when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.folder || viewItem =~ /^databaseProject.itemType.file/", "group": "9_dbProjectsLast@1" }, { "command": "sqlDatabaseProjects.delete", "when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.folder || viewItem =~ /^databaseProject.itemType.file/ || viewItem == databaseProject.itemType.reference", "group": "9_dbProjectsLast@2" }, { "command": "sqlDatabaseProjects.changeTargetPlatform", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/", "group": "9_dbProjectsLast@6" }, { "command": "sqlDatabaseProjects.editProjectFile", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/", "group": "9_dbProjectsLast@7" }, { "command": "sqlDatabaseProjects.openContainingFolder", "when": "view == dataworkspace.views.main && viewItem =~ /^(databaseProject.itemType.project|databaseProject.itemType.legacyProject)$/", "group": "9_dbProjectsLast@8" }, { "command": "sqlDatabaseProjects.createProjectFromDatabase", "when": "!azdataAvailable && view == objectExplorer && viewItem =~ /^(disconnectedServer|Server|Database)$/", "group": "sqldbproj@1" } ], "objectExplorer/item/context": [ { "command": "sqlDatabaseProjects.createProjectFromDatabase", "when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11", "group": "export@1" }, { "command": "sqlDatabaseProjects.updateProjectFromDatabase", "when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11", "group": "export@2" } ], "dataExplorer/context": [ { "command": "sqlDatabaseProjects.createProjectFromDatabase", "when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11", "group": "export@1" }, { "command": "sqlDatabaseProjects.updateProjectFromDatabase", "when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11", "group": "export@2" } ], "dashboard/toolbar": [ { "command": "sqlDatabaseProjects.createProjectFromDatabase", "when": "connectionProvider == 'MSSQL' && mssql:engineedition != 11" }, { "command": "sqlDatabaseProjects.updateProjectFromDatabase", "when": "connectionProvider == 'MSSQL' && mssql:engineedition != 11" } ] } }, "dependencies": { "@microsoft/ads-extension-telemetry": "^1.3.1", "@xmldom/xmldom": "^0.8.2", "axios": "^0.27.2", "extract-zip": "^2.0.1", "fast-glob": "^3.2.7", "fs-extra": "^5.0.0", "promisify-child-process": "^3.1.1", "request": "^2.88.2", "semver": "^7.3.5", "vscode-languageclient": "^5.3.0-next.1", "vscode-nls": "^4.1.2", "which": "^2.0.2", "xml-formatter": "2.1.0" }, "devDependencies": { "@microsoft/vscodetestcover": "^1.2.1", "@types/fs-extra": "^5.0.0", "@types/mocha": "^7.0.2", "@types/request": "^2.48.8", "@types/sinon": "^9.0.4", "@types/which": "^2.0.1", "@types/xml-formatter": "^1.1.0", "mocha": "^7.1.1", "should": "^13.2.1", "sinon": "^9.0.2", "typemoq": "^2.1.0", "@microsoft/azdata-test": "^2.0.3" }, "__metadata": { "id": "70", "publisherDisplayName": "Microsoft", "publisherId": "Microsoft" } }