mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-30 01:25:38 -05:00
* work in progress * load projects in view and test cases * update scope * make the sql proj menu available in workspace view * add extension unit test * address comments * fix errors
60 lines
1.6 KiB
TypeScript
60 lines
1.6 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
declare module 'dataworkspace' {
|
|
import * as vscode from 'vscode';
|
|
export const enum extension {
|
|
name = 'Microsoft.data-workspace'
|
|
}
|
|
|
|
/**
|
|
* dataworkspace extension
|
|
*/
|
|
export interface IExtension {
|
|
/**
|
|
* register a project provider
|
|
* @param provider new project provider
|
|
* @requires a disposable object, upon disposal, the provider will be unregistered.
|
|
*/
|
|
registerProjectProvider(provider: IProjectProvider): vscode.Disposable;
|
|
}
|
|
|
|
/**
|
|
* Defines the capabilities of project provider
|
|
*/
|
|
export interface IProjectProvider {
|
|
/**
|
|
* Gets the tree data provider for the given project file
|
|
* @param projectFilePath The full path of the project file
|
|
*/
|
|
getProjectTreeDataProvider(projectFilePath: string): Promise<vscode.TreeDataProvider<any>>;
|
|
|
|
/**
|
|
* Gets the supported project types
|
|
*/
|
|
readonly supportedProjectTypes: IProjectType[];
|
|
}
|
|
|
|
/**
|
|
* Defines the project type
|
|
*/
|
|
export interface IProjectType {
|
|
/**
|
|
* display name of the project type
|
|
*/
|
|
readonly displayName: string;
|
|
|
|
/**
|
|
* project file extension, e.g. sqlproj
|
|
*/
|
|
readonly projectFileExtension: string;
|
|
|
|
/**
|
|
* Gets the icon path of the project type
|
|
*/
|
|
readonly icon: string | vscode.Uri | { light: string | vscode.Uri, dark: string | vscode.Uri }
|
|
}
|
|
}
|