Remove data workspace * activationEvent (#22005)

* remove data workspace * activationEvent

* fix tests
This commit is contained in:
Kim Santiago
2023-02-22 12:03:39 -08:00
committed by GitHub
parent 10c3199a23
commit 169138e24b
8 changed files with 33 additions and 44 deletions

View File

@@ -85,8 +85,6 @@ export interface IWorkspaceService {
*/
gitCloneProject(url: string, localClonePath: string): Promise<void>;
readonly isProjectProviderAvailable: boolean;
/**
* Event fires when projects in workspace changes
*/

View File

@@ -10,7 +10,6 @@ import { WorkspaceTreeItem, IExtension } from 'dataworkspace';
import { DataWorkspaceExtension } from './common/dataWorkspaceExtension';
import { NewProjectDialog } from './dialogs/newProjectDialog';
import { browseForProject, OpenExistingDialog } from './dialogs/openExistingDialog';
import { IWorkspaceService } from './common/interfaces';
import { IconPathHelper } from './common/iconHelper';
import { ProjectDashboard } from './dialogs/projectDashboard';
import { getAzdataApi } from './common/utils';
@@ -42,13 +41,6 @@ export async function activate(context: vscode.ExtensionContext): Promise<IExten
const dataWorkspaceExtension = new DataWorkspaceExtension(workspaceService);
Logger.log(`DataWorkspaceExtension constructor took ${new Date().getTime() - dataWorkspaceExtensionStartTime}ms`);
const settingProjectProviderContextStartTime = new Date().getTime();
context.subscriptions.push(vscode.extensions.onDidChange(() => {
setProjectProviderContextValue(workspaceService);
}));
setProjectProviderContextValue(workspaceService);
Logger.log(`setProjectProviderContextValue took ${new Date().getTime() - settingProjectProviderContextStartTime}ms`);
const registerCommandStartTime = new Date().getTime();
context.subscriptions.push(vscode.commands.registerCommand('projects.new', async () => {
// Make sure all project providing extensions are activated to be sure the project templates show up
@@ -105,9 +97,5 @@ export async function activate(context: vscode.ExtensionContext): Promise<IExten
return Promise.resolve(dataWorkspaceExtension);
}
function setProjectProviderContextValue(workspaceService: IWorkspaceService): void {
void vscode.commands.executeCommand('setContext', 'isProjectProviderAvailable', workspaceService.isProjectProviderAvailable);
}
export function deactivate(): void {
}

View File

@@ -31,21 +31,6 @@ export class WorkspaceService implements IWorkspaceService {
this.getProjectsInWorkspace(undefined, true).catch(err => Logger.error(`Error initializing projects in workspace ${err}`));
}
get isProjectProviderAvailable(): boolean {
Logger.log(`Checking ${vscode.extensions.all.length} extensions to see if there is a project provider is available`);
const startTime = new Date().getTime();
for (const extension of vscode.extensions.all) {
const projectTypes = extension.packageJSON.contributes && extension.packageJSON.contributes.projects as string[];
if (projectTypes && projectTypes.length > 0) {
Logger.log(`Project provider found. Total time = ${new Date().getTime() - startTime}ms`);
return true;
}
}
Logger.log(`No project providers found. Total time = ${new Date().getTime() - startTime}ms`);
return false;
}
/**
* Verify that a workspace is open or that if one isn't and we're running in ADS, it's ok to create a workspace and restart ADS
*/