mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-27 09:35:37 -05:00
Show error if trying to create or open project when no project extension is installed (#22021)
* show error if trying to create or open project when no project extensions are found * only check if project providers are available on startup and when extensions change * addressing comments * Update extensions/data-workspace/src/services/workspaceService.ts use some instead of find Co-authored-by: Charles Gagnon <chgagnon@microsoft.com> --------- Co-authored-by: Charles Gagnon <chgagnon@microsoft.com>
This commit is contained in:
@@ -25,12 +25,26 @@ export class WorkspaceService implements IWorkspaceService {
|
||||
|
||||
private openedProjects: vscode.Uri[] | undefined = undefined;
|
||||
private excludedProjects: string[] | undefined;
|
||||
private _isProjectProviderAvailable: boolean = false;
|
||||
|
||||
constructor() {
|
||||
Logger.log(`Calling getProjectsInWorkspace() from WorkspaceService constructor`);
|
||||
this.updateIfProjectProviderAvailable();
|
||||
this.getProjectsInWorkspace(undefined, true).catch(err => Logger.error(`Error initializing projects in workspace ${err}`));
|
||||
}
|
||||
|
||||
get isProjectProviderAvailable(): boolean {
|
||||
return this._isProjectProviderAvailable;
|
||||
}
|
||||
|
||||
public updateIfProjectProviderAvailable(): void {
|
||||
Logger.log(`Checking ${vscode.extensions.all.length} extensions to see if there is a project provider is available`);
|
||||
const startTime = new Date().getTime();
|
||||
|
||||
this._isProjectProviderAvailable = vscode.extensions.all.some(e => e.packageJSON.contributes?.projects?.length > 0);
|
||||
Logger.log(`isProjectProviderAvailable is ${this._isProjectProviderAvailable}. Total time = ${new Date().getTime() - startTime}ms`);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user