Skip to content

Commit 6b1b0e3

Browse files
committed
Add prompt to save multi-root workspace choice to cwd
So it's not just automatic, but can be done easily (and is an appropriate value to sync with workspace settings).
1 parent 7f94731 commit 6b1b0e3

File tree

3 files changed

+11
-3
lines changed

3 files changed

+11
-3
lines changed

src/logging.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,8 @@ export class Logger implements ILogger {
100100
public async writeAndShowInformation(message: string, ...additionalMessages: string[]): Promise<void> {
101101
this.write(message, ...additionalMessages);
102102

103-
const selection = await vscode.window.showInformationMessage(message, "Show Logs");
104-
if (selection !== undefined) {
103+
const selection = await vscode.window.showInformationMessage(message, "Show Logs", "Okay");
104+
if (selection === "Show Logs") {
105105
this.showLogPanel();
106106
}
107107
}

src/session.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,7 @@ export class SessionManager implements Middleware {
469469
this.logger.updateLogLevel(settings.developer.editorServicesLogLevel);
470470

471471
// Detect any setting changes that would affect the session.
472-
if (!this.suppressRestartPrompt &&
472+
if (!this.suppressRestartPrompt && this.sessionStatus === SessionStatus.Running &&
473473
(settings.cwd.toLowerCase() !== this.sessionSettings.cwd.toLowerCase()
474474
|| settings.powerShellDefaultVersion.toLowerCase() !== this.sessionSettings.powerShellDefaultVersion.toLowerCase()
475475
|| settings.developer.editorServicesLogLevel.toLowerCase() !== this.sessionSettings.developer.editorServicesLogLevel.toLowerCase()

src/settings.ts

+8
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,14 @@ export async function getChosenWorkspace(logger: ILogger | undefined): Promise<v
240240
logger?.writeVerbose(`User selected workspace: '${chosenWorkspace?.name}'`);
241241
if (chosenWorkspace === undefined) {
242242
chosenWorkspace = vscode.workspace.workspaceFolders[0];
243+
} else {
244+
const response = await vscode.window.showInformationMessage(
245+
`Would you like to save this choice by setting this workspace's 'powershell.cwd' value to '${chosenWorkspace.name}'?`,
246+
"Yes", "No");
247+
248+
if (response === "Yes") {
249+
await changeSetting("cwd", chosenWorkspace.name, vscode.ConfigurationTarget.Workspace, logger);
250+
}
243251
}
244252
}
245253

0 commit comments

Comments
 (0)