mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 10:58:30 -05:00
Correcting log messages during autorest execution selection (#17434)
* Correcting log messages during autorest execution choice * Combining redundant strings * Correcting icon + loc * Fixing typo
This commit is contained in:
@@ -227,8 +227,7 @@ export const browseButtonText = localize('browseButtonText', "Browse folder");
|
|||||||
export const selectFolderStructure = localize('selectFolderStructure', "Select folder structure");
|
export const selectFolderStructure = localize('selectFolderStructure', "Select folder structure");
|
||||||
export const folderStructureLabel = localize('folderStructureLabel', "Folder structure");
|
export const folderStructureLabel = localize('folderStructureLabel', "Folder structure");
|
||||||
export const WorkspaceFileExtension = '.code-workspace';
|
export const WorkspaceFileExtension = '.code-workspace';
|
||||||
export const browseEllipsis = localize('browseEllipsis', "Browse...");
|
export const browseEllipsisWithIcon = `$(folder) ${localize('browseEllipsis', "Browse...")}`;
|
||||||
export const browseEllipsisWithIcon = `$(folder) ${browseEllipsis}`;
|
|
||||||
export const selectProjectLocation = localize('selectProjectLocation', "Select project location");
|
export const selectProjectLocation = localize('selectProjectLocation', "Select project location");
|
||||||
export const ProjectParentDirectoryNotExistError = (location: string): string => { return localize('dataworkspace.projectParentDirectoryNotExistError', "The selected project location '{0}' does not exist or is not a directory.", location); };
|
export const ProjectParentDirectoryNotExistError = (location: string): string => { return localize('dataworkspace.projectParentDirectoryNotExistError', "The selected project location '{0}' does not exist or is not a directory.", location); };
|
||||||
export const ProjectDirectoryAlreadyExistError = (projectName: string, location: string): string => { return localize('dataworkspace.projectDirectoryAlreadyExistError', "There is already a directory named '{0}' in the selected location: '{1}'.", projectName, location); };
|
export const ProjectDirectoryAlreadyExistError = (projectName: string, location: string): string => { return localize('dataworkspace.projectDirectoryAlreadyExistError', "There is already a directory named '{0}' in the selected location: '{1}'.", projectName, location); };
|
||||||
@@ -423,9 +422,12 @@ export enum DatabaseProjectItemType {
|
|||||||
|
|
||||||
// AutoRest
|
// AutoRest
|
||||||
export const autorestPostDeploymentScriptName = 'PostDeploymentScript.sql';
|
export const autorestPostDeploymentScriptName = 'PostDeploymentScript.sql';
|
||||||
export const nodeButNotAutorestFound = localize('nodeButNotAutorestFound', "Autorest tool not found in system path, but found Node.js. Running via npx. Please execute 'npm install autorest -g' to install permanently.");
|
export const nodeButNotAutorestFound = localize('nodeButNotAutorestFound', "Autorest tool not found in system path, but found Node.js. Prompting user for how to proceed. Execute 'npm install autorest -g' to install permanently and avoid this message.");
|
||||||
export const nodeNotFound = localize('nodeNotFound', "Neither Autorest nor Node.js (npx) found in system path. Please install Node.js for Autorest generation to work.");
|
export const nodeNotFound = localize('nodeNotFound', "Neither Autorest nor Node.js (npx) found in system path. Please install Node.js for Autorest generation to work.");
|
||||||
export const nodeButNotAutorestFoundPrompt = localize('nodeButNotAutorestFoundPrompt', "Autorest is not installed. To proceed, choose whether to run Autorest from a temporary location via 'npx' or install Autorest globally then run.");
|
export const nodeButNotAutorestFoundPrompt = localize('nodeButNotAutorestFoundPrompt', "Autorest is not installed. To proceed, choose whether to run Autorest from a temporary location via 'npx' or install Autorest globally then run.");
|
||||||
|
export const userSelectionInstallGlobally = localize('userSelectionInstallGlobally', "User selected to install autorest gloablly. Installing now...");
|
||||||
|
export const userSelectionRunNpx = localize('userSelectionRunNpx', "User selected to run via npx.");
|
||||||
|
export const userSelectionCancelled = localize('userSelectionCancelled', "User has cancelled selection for how to run autorest.");
|
||||||
export const installGlobally = localize('installGlobally', "Install globally");
|
export const installGlobally = localize('installGlobally', "Install globally");
|
||||||
export const runViaNpx = localize('runViaNpx', "Run via npx");
|
export const runViaNpx = localize('runViaNpx', "Run via npx");
|
||||||
|
|
||||||
|
|||||||
@@ -834,7 +834,7 @@ export class ProjectsController {
|
|||||||
|
|
||||||
public async selectAutorestSpecFile(): Promise<string | undefined> {
|
public async selectAutorestSpecFile(): Promise<string | undefined> {
|
||||||
let quickpickSelection = await vscode.window.showQuickPick(
|
let quickpickSelection = await vscode.window.showQuickPick(
|
||||||
[constants.browseEllipsis],
|
[constants.browseEllipsisWithIcon],
|
||||||
{ title: constants.selectSpecFile, ignoreFocusOut: true });
|
{ title: constants.selectSpecFile, ignoreFocusOut: true });
|
||||||
if (!quickpickSelection) {
|
if (!quickpickSelection) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
*--------------------------------------------------------------------------------------------*/
|
*--------------------------------------------------------------------------------------------*/
|
||||||
|
|
||||||
import * as vscode from 'vscode';
|
import * as vscode from 'vscode';
|
||||||
import { DoNotAskAgain, Install, nodeButNotAutorestFound, nodeNotFound, nodeButNotAutorestFoundPrompt, runViaNpx, installGlobally } from '../common/constants';
|
import * as constants from '../common/constants';
|
||||||
import * as utils from '../common/utils';
|
import * as utils from '../common/utils';
|
||||||
import * as semver from 'semver';
|
import * as semver from 'semver';
|
||||||
import { DBProjectConfigurationKey } from './netcoreTool';
|
import { DBProjectConfigurationKey } from './netcoreTool';
|
||||||
@@ -45,19 +45,24 @@ export class AutorestHelper extends ShellExecutionHelper {
|
|||||||
if (await utils.detectCommandInstallation(autorestCommand)) {
|
if (await utils.detectCommandInstallation(autorestCommand)) {
|
||||||
return autorestCommand;
|
return autorestCommand;
|
||||||
}
|
}
|
||||||
|
else if (await utils.detectCommandInstallation(npxCommand)) {
|
||||||
|
this._outputChannel.appendLine(constants.nodeButNotAutorestFound);
|
||||||
|
const response = await vscode.window.showInformationMessage(constants.nodeButNotAutorestFoundPrompt, constants.installGlobally, constants.runViaNpx);
|
||||||
|
|
||||||
if (await utils.detectCommandInstallation(npxCommand)) {
|
if (response === constants.installGlobally) {
|
||||||
this._outputChannel.appendLine(nodeButNotAutorestFound);
|
this._outputChannel.appendLine(constants.userSelectionInstallGlobally);
|
||||||
|
|
||||||
const response = await vscode.window.showInformationMessage(nodeButNotAutorestFoundPrompt, installGlobally, runViaNpx);
|
|
||||||
|
|
||||||
if (response === installGlobally) {
|
|
||||||
await this.runStreamedCommand('npm install autorest -g', this._outputChannel);
|
await this.runStreamedCommand('npm install autorest -g', this._outputChannel);
|
||||||
return autorestCommand;
|
return autorestCommand;
|
||||||
} else if (response === runViaNpx) {
|
} else if (response === constants.runViaNpx) {
|
||||||
|
this._outputChannel.appendLine(constants.userSelectionRunNpx);
|
||||||
return `${npxCommand} ${autorestCommand}`;
|
return `${npxCommand} ${autorestCommand}`;
|
||||||
|
} else {
|
||||||
|
this._outputChannel.appendLine(constants.userSelectionCancelled);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
this._outputChannel.appendLine(constants.nodeNotFound);
|
||||||
|
}
|
||||||
|
|
||||||
return undefined;
|
return undefined;
|
||||||
}
|
}
|
||||||
@@ -75,18 +80,17 @@ export class AutorestHelper extends ShellExecutionHelper {
|
|||||||
// unable to find autorest or npx
|
// unable to find autorest or npx
|
||||||
|
|
||||||
if (vscode.workspace.getConfiguration(DBProjectConfigurationKey)[nodejsDoNotAskAgainKey] !== true) {
|
if (vscode.workspace.getConfiguration(DBProjectConfigurationKey)[nodejsDoNotAskAgainKey] !== true) {
|
||||||
this._outputChannel.appendLine(nodeNotFound);
|
|
||||||
return; // user doesn't want to be prompted about installing it
|
return; // user doesn't want to be prompted about installing it
|
||||||
}
|
}
|
||||||
|
|
||||||
// prompt user to install Node.js
|
// prompt user to install Node.js
|
||||||
const result = await vscode.window.showErrorMessage(nodeNotFound, DoNotAskAgain, Install);
|
const result = await vscode.window.showErrorMessage(constants.nodeNotFound, constants.DoNotAskAgain, constants.Install);
|
||||||
|
|
||||||
if (result === Install) {
|
if (result === constants.Install) {
|
||||||
//open install link
|
//open install link
|
||||||
const nodejsInstallationUrl = 'https://nodejs.dev/download';
|
const nodejsInstallationUrl = 'https://nodejs.dev/download';
|
||||||
await vscode.env.openExternal(vscode.Uri.parse(nodejsInstallationUrl));
|
await vscode.env.openExternal(vscode.Uri.parse(nodejsInstallationUrl));
|
||||||
} else if (result === DoNotAskAgain) {
|
} else if (result === constants.DoNotAskAgain) {
|
||||||
const config = vscode.workspace.getConfiguration(DBProjectConfigurationKey);
|
const config = vscode.workspace.getConfiguration(DBProjectConfigurationKey);
|
||||||
await config.update(nodejsDoNotAskAgainKey, true, vscode.ConfigurationTarget.Global);
|
await config.update(nodejsDoNotAskAgainKey, true, vscode.ConfigurationTarget.Global);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user