@@ -85,6 +85,7 @@ import { IPreferencesService } from 'vs/workbench/services/preferences/common/pr
85
85
import type { IMarker , ITerminalAddon , Terminal as XTermTerminal } from 'xterm' ;
86
86
import { IOpenerService } from 'vs/platform/opener/common/opener' ;
87
87
import { IGenericMarkProperties } from 'vs/platform/terminal/common/terminalProcess' ;
88
+ import { ICommandService } from 'vs/platform/commands/common/commands' ;
88
89
89
90
const enum Constants {
90
91
/**
@@ -378,7 +379,8 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
378
379
@IWorkspaceTrustRequestService private readonly _workspaceTrustRequestService : IWorkspaceTrustRequestService ,
379
380
@IHistoryService private readonly _historyService : IHistoryService ,
380
381
@ITelemetryService private readonly _telemetryService : ITelemetryService ,
381
- @IOpenerService private readonly _openerService : IOpenerService
382
+ @IOpenerService private readonly _openerService : IOpenerService ,
383
+ @ICommandService private readonly _commandService : ICommandService
382
384
) {
383
385
super ( ) ;
384
386
@@ -1732,13 +1734,19 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
1732
1734
id : TerminalStatus . ShellIntegrationAttentionNeeded ,
1733
1735
severity : Severity . Warning ,
1734
1736
icon : Codicon . warning ,
1735
- tooltip : ( `${ exitMessage } ` ?? '' ) + nls . localize ( 'launchFailed.exitCodeOnlyShellIntegration' , 'Disabling shell integration with {0} might help.' , '`terminal.integrated.shellIntegration.enabled` ') ,
1737
+ tooltip : ( `${ exitMessage } ` ?? '' ) + nls . localize ( 'launchFailed.exitCodeOnlyShellIntegration' , 'Disabling shell integration in user settings might help.' ) ,
1736
1738
hoverActions : [ {
1737
1739
commandId : TerminalCommandId . ShellIntegrationLearnMore ,
1738
- label : nls . localize ( 'shellIntegration.learnMore' , "Learn more" ) ,
1740
+ label : nls . localize ( 'shellIntegration.learnMore' , "Learn more about shell integration " ) ,
1739
1741
run : ( ) => {
1740
1742
this . _openerService . open ( 'https://code.visualstudio.com/docs/editor/integrated-terminal#_shell-integration' ) ;
1741
1743
}
1744
+ } , {
1745
+ commandId : 'workbench.action.openSettings' ,
1746
+ label : nls . localize ( 'shellIntegration.openSettings' , "Open user settings" ) ,
1747
+ run : ( ) => {
1748
+ this . _commandService . executeCommand ( 'workbench.action.openSettings' , 'terminal.integrated.shellIntegration.enabled' ) ;
1749
+ }
1742
1750
} ]
1743
1751
} ) ;
1744
1752
this . _telemetryService . publicLog2 < { } , { owner : 'meganrogge' ; comment : 'Indicates the process exited when created with shell integration args' } > ( 'terminal/shellIntegrationFailureProcessExit' ) ;
0 commit comments