Skip to content

Commit

Permalink
create process in an empty workspace when cwd is userHome (microsoft#…
Browse files Browse the repository at this point in the history
  • Loading branch information
meganrogge committed Jan 27, 2022
1 parent 9b0917d commit a58b538
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions src/vs/workbench/contrib/terminal/browser/terminalInstance.ts
Expand Up @@ -73,6 +73,8 @@ import { TerminalCapability } from 'vs/workbench/contrib/terminal/common/capabil
import { ITextModel } from 'vs/editor/common/model';
import { IModelService } from 'vs/editor/common/services/model';
import { ITextModelContentProvider, ITextModelService } from 'vs/editor/common/services/resolverService';
import { IHistoryService } from 'vs/workbench/services/history/common/history';
import { Schemas } from 'vs/base/common/network';

const enum Constants {
/**
Expand Down Expand Up @@ -350,7 +352,8 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
@IWorkbenchEnvironmentService workbenchEnvironmentService: IWorkbenchEnvironmentService,
@IWorkspaceContextService private readonly _workspaceContextService: IWorkspaceContextService,
@IEditorService private readonly _editorService: IEditorService,
@IWorkspaceTrustRequestService private readonly _workspaceTrustRequestService: IWorkspaceTrustRequestService
@IWorkspaceTrustRequestService private readonly _workspaceTrustRequestService: IWorkspaceTrustRequestService,
@IHistoryService private readonly _historyService: IHistoryService
) {
super();

Expand Down Expand Up @@ -1312,9 +1315,16 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
if (this._isDisposed) {
return;
}

const trusted = await this._trust();
if (!trusted) {
const activeWorkspaceRootUri = this._historyService.getLastActiveWorkspaceRoot(Schemas.file);
if (activeWorkspaceRootUri) {
const trusted = await this._trust();
if (!trusted) {
this._onProcessExit({ message: nls.localize('workspaceNotTrustedCreateTerminal', "Cannot launch a terminal process in an untrusted workspace") });
}
} else if (this._userHome && this._cwd !== this._userHome) {
// ensure that the process is launched in userHome for an empty workspace
this._shellLaunchConfig.cwd = this._userHome;
} else if (!this._userHome) {
this._onProcessExit({ message: nls.localize('workspaceNotTrustedCreateTerminal', "Cannot launch a terminal process in an untrusted workspace") });
}

Expand Down

0 comments on commit a58b538

Please sign in to comment.