Skip to content

Commit

Permalink
vscode: Error feddback with vscode.open command
Browse files Browse the repository at this point in the history
Partial implementation of 6568.
Closes 5667 until there is closer implementation to VS Code.

Signed-Off-By: FernandoAscencio <fernando.ascencio.cama@ericsson.com>
Co-authored-by: Vincent Fugnitto <vincent.fugnitto@ericsson.com>
  • Loading branch information
FernandoAscencio and vince-fugnitto committed Mar 8, 2023
1 parent f7ef6b5 commit 323fc9d
Showing 1 changed file with 10 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
// *****************************************************************************

import { Command, CommandContribution, CommandRegistry, environment, isOSX, CancellationTokenSource } from '@theia/core';
import { Command, CommandContribution, CommandRegistry, environment, isOSX, CancellationTokenSource, MessageService } from '@theia/core';
import {
ApplicationShell,
CommonCommands,
Expand Down Expand Up @@ -178,6 +178,8 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
protected readonly textModelService: MonacoTextModelService;
@inject(WindowService)
protected readonly windowService: WindowService;
@inject(MessageService)
protected readonly messageService: MessageService;

private async openWith(commandId: string, resource: URI, columnOrOptions?: ViewColumn | TextDocumentShowOptions, openerId?: string): Promise<boolean> {
if (!resource) {
Expand Down Expand Up @@ -228,9 +230,13 @@ export class PluginVscodeCommandsContribution implements CommandContribution {
commands.registerCommand(VscodeCommands.OPEN, {
isVisible: () => false,
execute: async (resource: URI, columnOrOptions?: ViewColumn | TextDocumentShowOptions) => {
const result = await this.openWith(VscodeCommands.OPEN.id, resource, columnOrOptions);
if (!result) {
throw new Error(`Could not find an editor for ${resource}`);
try {
await this.openWith(VscodeCommands.OPEN.id, resource, columnOrOptions);
} catch (error) {
const message = nls.localizeByDefault("Unable to open '{0}'", resource.path);
const reason = nls.localizeByDefault('Error: {0}', error.message);
this.messageService.error(`${message}\n${reason}`);
console.warn(error);
}
}
});
Expand Down

0 comments on commit 323fc9d

Please sign in to comment.