Data workspace projects changes (#13466)

* Fix project context menu actions (#12541)

* delete works again

* make fewer changes

* update all sql db project commands

* cleanup

* Remove old projects view (#12563)

* remove old projects view from file explorer view

* fix tests failing

* remove projects in open folder opening up in old view

* Update db reference dialog to show projects in the workspace (#12580)

* update database reference dialog to show projects in the workspace in the project dropdown

* remove workspace stuff from sql projects extension

* undo change

* add class that implements IExtension

* undo a change

* update DataWorkspaceExtension to take workspaceService as a parameter

* add type

* Update sql database project commands (#12595)

* remove sql proj's open and create new project from comman palette

* hook up create project from database to data workspace

* rename the remaining import databases to create project from database

* remove open, new, and close commands

* expose addProjectsToWorkspace() in IExtension instead of calling command

* Addressing comments

* fix failing sql project tests (#12651)

* update SSDT projects opened in projects viewlet (#12669)

* fix action not refreshing the tree issue (#12692)

* fix adding project references in new projects viewlet (#12688)

* Remove old projects tree provider (#12702)

* Remove old projects tree provider and fix tests

* formatting

* update refreshProjectsTree() to accept workspaceTreeItem()

* Cleanup ProjectsController (#12718)

* remove openProject from ProjectController and some cleanup

* rename

* add project and open project dialogs (#12729)

* empty dialogs

* wip

* new project dialog implementation

* revert gitattributes

* open project dialog

* implement add project

* remove icon helper

* refactor

* revert script change

* adjust views

* more updates

* make data-workspace a builtin extension

* show the view only when project provider is detected (#12819)

* only show the view when proj provider is available

* update

* fix sql project tests after merge (#12793)

* Update dialogs to be closer to mockups (#12879)

* small UI changes to dialogs

* center radio card group text

* Create workspace if needed when opening/new project (#12930)

* empty dialogs

* wip

* new project dialog implementation

* revert gitattributes

* open project dialog

* implement add project

* remove icon helper

* refactor

* revert script change

* create workspace

* initial changes

* create new workspace working

* fix tests

* cleanup

* remove showWorkspaceRequiredNotification()

* Add test for no workspace open

* update blue buttons

* move loading temp project to activate() instead of workspaceService constructor

* move workspace creation warning message to before project is created

* pass uri to createWorkspace

* add tests

Co-authored-by: Alan Ren <alanren@microsoft.com>

* Additional create workspace changes (#13004)

* Dialogs workspace updates (#13010)

* adding workspace text boxes

* match new project dialog to mockups

* Add validation error message for workspace file

* add enterWorkspace api

* add warning message for opening workspace

* cleanup

* update commands to remove project so they're more generic

* remove 'empty' from string

* Move default project location setting to data workspace extension (#13022)

* remove project location setting and notification from sql database projects extension

* add default project location setting to data workspace extension

* fix typo

* Add back project name incrementing

* other merge fixes

* fix strings from other PR

* default to last opened directory instead of home directory if no specified default location

* A few small updates (#13092)

* fix build error

* update title for inputboxes

* add missing file

* Add tests for data workspace dialogs (#13324)

* add tests for dialogs

* create helper functions

* New project dialog workspace inputbox fixes (#13407)

* workspace inputbox fixes

* fix folder icons

* Update package.jsons and readme (#13451)

* update package.jsons

* update readme

* add workspace information to open existing dialog (#13455)

Co-authored-by: Alan Ren <alanren@microsoft.com>
This commit is contained in:
Kim Santiago
2020-11-18 16:13:43 -08:00
committed by GitHub
parent 34170e7741
commit ddc8c00090
63 changed files with 1835 additions and 931 deletions

View File

@@ -7,7 +7,7 @@
"preview": true,
"engines": {
"vscode": "^1.30.1",
"azdata": ">=1.24.0"
"azdata": ">=1.25.0"
},
"license": "https://raw.githubusercontent.com/Microsoft/azuredatastudio/main/LICENSE.txt",
"icon": "images/sqlDatabaseProjects.png",
@@ -15,7 +15,7 @@
"activationEvents": [
"onCommand:sqlDatabaseProjects.new",
"onCommand:sqlDatabaseProjects.open",
"onCommand:sqlDatabaseProjects.importDatabase",
"onCommand:sqlDatabaseProjects.createProjectFromDatabase",
"workspaceContains:**/*.sqlproj",
"onView:dataworkspace.views.main"
],
@@ -39,37 +39,11 @@
"sqlDatabaseProjects.netCoreSDKLocation": {
"type": "string",
"description": "%sqlDatabaseProjects.netCoreInstallLocation%"
},
"sqlDatabaseProjects.defaultProjectSaveLocation": {
"type": "string",
"description": "%sqlDatabaseProjects.defaultProjectSaveLocation%"
},
"sqlDatabaseProjects.showUpdateSaveLocationPrompt": {
"type": "boolean",
"description": "%sqlDatabaseProjects.showUpdateSaveLocationPrompt%",
"default": true
}
}
}
],
"commands": [
{
"command": "sqlDatabaseProjects.new",
"title": "%sqlDatabaseProjects.new%",
"category": "%sqlDatabaseProjects.displayName%",
"icon": "$(add)"
},
{
"command": "sqlDatabaseProjects.open",
"title": "%sqlDatabaseProjects.open%",
"category": "%sqlDatabaseProjects.displayName%",
"icon": "$(folder-opened)"
},
{
"command": "sqlDatabaseProjects.close",
"title": "%sqlDatabaseProjects.close%",
"category": "%sqlDatabaseProjects.displayName%"
},
{
"command": "sqlDatabaseProjects.newScript",
"title": "%sqlDatabaseProjects.newScript%",
@@ -146,8 +120,8 @@
"category": "%sqlDatabaseProjects.displayName%"
},
{
"command": "sqlDatabaseProjects.importDatabase",
"title": "%sqlDatabaseProjects.importDatabase%",
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"title": "%sqlDatabaseProjects.createProjectFromDatabase%",
"category": "%sqlDatabaseProjects.displayName%",
"icon": "images/databaseProjectToolbar.svg"
},
@@ -179,16 +153,6 @@
],
"menus": {
"commandPalette": [
{
"command": "sqlDatabaseProjects.new"
},
{
"command": "sqlDatabaseProjects.open"
},
{
"command": "sqlDatabaseProjects.close",
"when": "false"
},
{
"command": "sqlDatabaseProjects.newScript",
"when": "false"
@@ -246,7 +210,7 @@
"when": "false"
},
{
"command": "sqlDatabaseProjects.importDatabase"
"command": "sqlDatabaseProjects.createProjectFromDatabase"
},
{
"command": "sqlDatabaseProjects.addDatabaseReference",
@@ -273,57 +237,45 @@
"when": "false"
}
],
"view/title": [
{
"command": "sqlDatabaseProjects.new",
"when": "view == sqlDatabaseProjectsView",
"group": "navigation@1"
},
{
"command": "sqlDatabaseProjects.open",
"when": "view == sqlDatabaseProjectsView",
"group": "navigation@2"
}
],
"view/item/context": [
{
"command": "sqlDatabaseProjects.build",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project",
"group": "1_dbProjectsFirst@1"
},
{
"command": "sqlDatabaseProjects.publish",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project",
"group": "1_dbProjectsFirst@2"
},
{
"command": "sqlDatabaseProjects.schemaCompare",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project",
"group": "1_dbProjectsFirst@3"
},
{
"command": "sqlDatabaseProjects.newItem",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "2_dbProjects_newMain@1"
},
{
"command": "sqlDatabaseProjects.newFolder",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "2_dbProjects_newMain@2"
},
{
"command": "sqlDatabaseProjects.newTable",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "3_dbProjects_newItem@1"
},
{
"command": "sqlDatabaseProjects.newView",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "3_dbProjects_newItem@2"
},
{
"command": "sqlDatabaseProjects.newStoredProcedure",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "3_dbProjects_newItem@3"
},
{
@@ -333,22 +285,22 @@
},
{
"command": "sqlDatabaseProjects.newScript",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "3_dbProjects_newItem@7"
},
{
"command": "sqlDatabaseProjects.newPreDeploymentScript",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "3_dbProjects_newItem@8"
},
{
"command": "sqlDatabaseProjects.newPostDeploymentScript",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project || viewItem == databaseProject.itemType.folder",
"group": "3_dbProjects_newItem@9"
},
{
"command": "sqlDatabaseProjects.addDatabaseReference",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.referencesRoot",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.referencesRoot",
"group": "4_dbProjects_addDatabaseReference"
},
{
@@ -373,66 +325,36 @@
},
{
"command": "sqlDatabaseProjects.editProjectFile",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project",
"group": "9_dbProjectsLast@7"
},
{
"command": "sqlDatabaseProjects.openContainingFolder",
"when": "view =~ /^(sqlDatabaseProjectsView|dataworkspace.views.main)$/ && viewItem == databaseProject.itemType.project",
"when": "view == dataworkspace.views.main && viewItem == databaseProject.itemType.project",
"group": "9_dbProjectsLast@8"
},
{
"command": "sqlDatabaseProjects.close",
"when": "view == sqlDatabaseProjectsView && viewItem == databaseProject.itemType.project",
"group": "9_dbProjectsLast@9"
}
],
"objectExplorer/item/context": [
{
"command": "sqlDatabaseProjects.importDatabase",
"when": "connectionProvider == MSSQL && nodeType && nodeType == Database && mssql:engineedition != 11",
"group": "export"
},
{
"command": "sqlDatabaseProjects.importDatabase",
"when": "connectionProvider == MSSQL && nodeType && nodeType == Server && mssql:engineedition != 11",
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11",
"group": "export"
}
],
"dataExplorer/context": [
{
"command": "sqlDatabaseProjects.importDatabase",
"when": "connectionProvider == MSSQL && nodeType && nodeType == Database && mssql:engineedition != 11",
"group": "export"
},
{
"command": "sqlDatabaseProjects.importDatabase",
"when": "connectionProvider == MSSQL && nodeType && nodeType == Server && mssql:engineedition != 11",
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"when": "nodeType =~ /^(Database|Server)$/ && connectionProvider == MSSQL && mssql:engineedition != 11",
"group": "export"
}
],
"dashboard/toolbar": [
{
"command": "sqlDatabaseProjects.importDatabase",
"command": "sqlDatabaseProjects.createProjectFromDatabase",
"when": "connectionProvider == 'MSSQL' && mssql:engineedition != 11"
}
]
},
"views": {
"explorer": [
{
"id": "sqlDatabaseProjectsView",
"name": "%title.projectsView%",
"when": ""
}
]
},
"viewsWelcome": [
{
"view": "sqlDatabaseProjectsView",
"contents": "%sqlDatabaseProjects.welcome%"
}
]
}
},
"dependencies": {
"@types/xml-formatter": "^1.1.0",