@@ -8,7 +8,7 @@ import { Event, Emitter } from 'vs/base/common/event';
88import { IContextKeyService , IContextKey } from 'vs/platform/contextkey/common/contextkey' ;
99import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle' ;
1010import { IPanelService } from 'vs/workbench/services/panel/common/panelService' ;
11- import { ITerminalService , ITerminalInstance , IShellLaunchConfig , ITerminalConfigHelper , KEYBINDING_CONTEXT_TERMINAL_FOCUS , KEYBINDING_CONTEXT_TERMINAL_FIND_WIDGET_VISIBLE , TERMINAL_PANEL_ID , ITerminalTab , ITerminalProcessExtHostProxy , ITerminalProcessExtHostRequest , KEYBINDING_CONTEXT_TERMINAL_IS_OPEN , ITerminalNativeService , IShellDefinition } from 'vs/workbench/contrib/terminal/common/terminal' ;
11+ import { ITerminalService , ITerminalInstance , IShellLaunchConfig , ITerminalConfigHelper , KEYBINDING_CONTEXT_TERMINAL_FOCUS , KEYBINDING_CONTEXT_TERMINAL_FIND_WIDGET_VISIBLE , TERMINAL_PANEL_ID , ITerminalTab , ITerminalProcessExtHostProxy , ITerminalProcessExtHostRequest , KEYBINDING_CONTEXT_TERMINAL_IS_OPEN , ITerminalNativeService , IShellDefinition , IAvailableShellsRequest } from 'vs/workbench/contrib/terminal/common/terminal' ;
1212import { IStorageService } from 'vs/platform/storage/common/storage' ;
1313import { URI } from 'vs/base/common/uri' ;
1414import { FindReplaceState } from 'vs/editor/contrib/find/findState' ;
@@ -67,8 +67,8 @@ export abstract class TerminalService implements ITerminalService {
6767 public get onActiveInstanceChanged ( ) : Event < ITerminalInstance | undefined > { return this . _onActiveInstanceChanged . event ; }
6868 protected readonly _onTabDisposed = new Emitter < ITerminalTab > ( ) ;
6969 public get onTabDisposed ( ) : Event < ITerminalTab > { return this . _onTabDisposed . event ; }
70- protected readonly _onRequestAvailableShells = new Emitter < ( shells : IShellDefinition [ ] ) => void > ( ) ;
71- public get onRequestAvailableShells ( ) : Event < ( shells : IShellDefinition [ ] ) => void > { return this . _onRequestAvailableShells . event ; }
70+ protected readonly _onRequestAvailableShells = new Emitter < IAvailableShellsRequest > ( ) ;
71+ public get onRequestAvailableShells ( ) : Event < IAvailableShellsRequest > { return this . _onRequestAvailableShells . event ; }
7272
7373 public abstract get configHelper ( ) : ITerminalConfigHelper ;
7474
@@ -563,6 +563,10 @@ export abstract class TerminalService implements ITerminalService {
563563 }
564564
565565 private _detectWindowsShells ( ) : Promise < IShellDefinition [ ] > {
566- return new Promise ( r => this . _onRequestAvailableShells . fire ( r ) ) ;
566+ const conn = this . _remoteAgentService . getConnection ( ) ;
567+ return new Promise ( r => this . _onRequestAvailableShells . fire ( {
568+ remoteAuthority : conn ? conn . remoteAuthority : null ,
569+ callback : r
570+ } ) ) ;
567571 }
568572}
0 commit comments