Files
azuredatastudio/extensions/data-workspace/src/common/telemetry.ts
Kim Santiago ca19f08582 Add git clone option for opening existing workspace (#14828)
* added git option to dialog

* Add validation for cloning workspace and hide radio buttons for project

* add test

* cleanup
2021-03-26 15:30:29 -07:00

58 lines
1.9 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the Source EULA. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import AdsTelemetryReporter from '@microsoft/ads-extension-telemetry';
import * as path from 'path';
import * as utils from './utils';
import * as vscode from 'vscode';
const packageJson = require('../../package.json');
let packageInfo = utils.getPackageInfo(packageJson)!;
export const TelemetryReporter = new AdsTelemetryReporter(packageInfo.name, packageInfo.version, packageInfo.aiKey);
export function calculateRelativity(projectPath: string, workspacePath?: string): string {
workspacePath = workspacePath ?? vscode.workspace.workspaceFile?.fsPath;
if (!workspacePath) {
return 'noWorkspace';
}
const relativePath = path.relative(path.dirname(projectPath), path.dirname(workspacePath));
if (relativePath.length === 0) { // no path difference
return 'sameFolder';
}
const pathParts = relativePath.split(path.sep);
if (pathParts.every(x => x === '..')) {
return 'directAncestor';
}
return 'other'; // sibling, cousin, descendant, etc.
}
export enum TelemetryViews {
WorkspaceTreePane = 'WorkspaceTreePane',
OpenExistingDialog = 'OpenExistingDialog',
NewProjectDialog = 'NewProjectDialog',
ProviderRegistration = 'ProviderRegistration'
}
export enum TelemetryActions {
ProviderRegistered = 'ProviderRegistered',
ProjectAddedToWorkspace = 'ProjectAddedToWorkspace',
ProjectRemovedFromWorkspace = 'ProjectRemovedFromWorkspace',
OpeningProject = 'OpeningProject',
NewProjectDialogLaunched = 'NewProjectDialogLaunched',
OpeningWorkspace = 'OpeningWorkspace',
OpenExistingDialogLaunched = 'OpenExistingDialogLaunched',
NewProjectDialogCompleted = 'NewProjectDialogCompleted',
GitClone = 'GitClone'
}