Skip to content

Commit 3afe028

Browse files
committed
Remove optional usage from external terminal
Part of microsoft#119440
1 parent b555ad1 commit 3afe028

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/vs/workbench/contrib/externalTerminal/browser/externalTerminal.contribution.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import { Schemas } from 'vs/base/common/network';
1717
import { distinct } from 'vs/base/common/arrays';
1818
import { IEditorService } from 'vs/workbench/services/editor/common/editorService';
1919
import { IRemoteAgentService } from 'vs/workbench/services/remote/common/remoteAgentService';
20-
import { optional } from 'vs/platform/instantiation/common/instantiation';
2120
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
2221
import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions } from 'vs/workbench/common/contributions';
2322
import { Disposable } from 'vs/base/common/lifecycle';
@@ -35,10 +34,14 @@ CommandsRegistry.registerCommand({
3534
const configurationService = accessor.get(IConfigurationService);
3635
const editorService = accessor.get(IEditorService);
3736
const fileService = accessor.get(IFileService);
38-
const terminalService: IExternalTerminalService | undefined = accessor.get(IExternalTerminalService, optional);
3937
const integratedTerminalService = accessor.get(IIntegratedTerminalService);
4038
const remoteAgentService = accessor.get(IRemoteAgentService);
4139
const terminalGroupService = accessor.get(ITerminalGroupService);
40+
let externalTerminalService: IExternalTerminalService | undefined = undefined;
41+
try {
42+
externalTerminalService = accessor.get(IExternalTerminalService);
43+
} catch {
44+
}
4245

4346
const resources = getMultiSelectedResources(resource, accessor.get(IListService), editorService, accessor.get(IExplorerService));
4447
return fileService.resolveAll(resources.map(r => ({ resource: r }))).then(async stats => {
@@ -73,9 +76,9 @@ CommandsRegistry.registerCommand({
7376
terminalGroupService.showPanel(true);
7477
}
7578
}
76-
} else {
79+
} else if (externalTerminalService) {
7780
distinct(targets.map(({ stat }) => stat!.isDirectory ? stat!.resource.fsPath : dirname(stat!.resource.fsPath))).forEach(cwd => {
78-
terminalService!.openTerminal(config.terminal.external, cwd);
81+
externalTerminalService!.openTerminal(config.terminal.external, cwd);
7982
});
8083
}
8184
});

0 commit comments

Comments
 (0)