提交 eee1b9bc 编写于 作者: I isidor

debug: use history service to get last active root to simplify code

上级 ce8a0831
...@@ -7,7 +7,7 @@ import * as nls from 'vs/nls'; ...@@ -7,7 +7,7 @@ import * as nls from 'vs/nls';
import { Action } from 'vs/base/common/actions'; import { Action } from 'vs/base/common/actions';
import * as lifecycle from 'vs/base/common/lifecycle'; import * as lifecycle from 'vs/base/common/lifecycle';
import { TPromise } from 'vs/base/common/winjs.base'; import { TPromise } from 'vs/base/common/winjs.base';
import { ICodeEditor, isCodeEditor } from 'vs/editor/browser/editorBrowser'; import { ICodeEditor } from 'vs/editor/browser/editorBrowser';
import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding'; import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import { ICommandService } from 'vs/platform/commands/common/commands'; import { ICommandService } from 'vs/platform/commands/common/commands';
import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace'; import { IWorkspaceContextService, WorkbenchState } from 'vs/platform/workspace/common/workspace';
...@@ -24,6 +24,7 @@ import { INotificationService } from 'vs/platform/notification/common/notificati ...@@ -24,6 +24,7 @@ import { INotificationService } from 'vs/platform/notification/common/notificati
import { CollapseAction } from 'vs/workbench/browser/viewlet'; import { CollapseAction } from 'vs/workbench/browser/viewlet';
import { ITree } from 'vs/base/parts/tree/browser/tree'; import { ITree } from 'vs/base/parts/tree/browser/tree';
import { first } from 'vs/base/common/arrays'; import { first } from 'vs/base/common/arrays';
import { IHistoryService } from 'vs/workbench/services/history/common/history';
export abstract class AbstractDebugAction extends Action { export abstract class AbstractDebugAction extends Action {
...@@ -118,7 +119,7 @@ export class StartAction extends AbstractDebugAction { ...@@ -118,7 +119,7 @@ export class StartAction extends AbstractDebugAction {
@IDebugService debugService: IDebugService, @IDebugService debugService: IDebugService,
@IKeybindingService keybindingService: IKeybindingService, @IKeybindingService keybindingService: IKeybindingService,
@IWorkspaceContextService private contextService: IWorkspaceContextService, @IWorkspaceContextService private contextService: IWorkspaceContextService,
@IWorkbenchEditorService private editorService: IWorkbenchEditorService @IHistoryService private historyService: IHistoryService
) { ) {
super(id, label, 'debug-action start', debugService, keybindingService); super(id, label, 'debug-action start', debugService, keybindingService);
...@@ -131,14 +132,10 @@ export class StartAction extends AbstractDebugAction { ...@@ -131,14 +132,10 @@ export class StartAction extends AbstractDebugAction {
const configurationManager = this.debugService.getConfigurationManager(); const configurationManager = this.debugService.getConfigurationManager();
let launch = configurationManager.selectedConfiguration.launch; let launch = configurationManager.selectedConfiguration.launch;
if (!launch) { if (!launch) {
const activeEditor = this.editorService.getActiveEditor(); const rootUri = this.historyService.getLastActiveWorkspaceRoot();
const launches = configurationManager.getLaunches(); launch = configurationManager.getLaunch(rootUri);
if (isCodeEditor(activeEditor)) {
const resource = activeEditor.input.getResource();
const root = this.contextService.getWorkspaceFolder(resource);
launch = configurationManager.getLaunch(root.uri);
}
if (!launch) { if (!launch) {
const launches = configurationManager.getLaunches();
launch = first(launches, l => !!l.getConfigurationNames().length, launches.length ? launches[0] : undefined); launch = first(launches, l => !!l.getConfigurationNames().length, launches.length ? launches[0] : undefined);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册