提交 a6a04e6e 编写于 作者: I isidor

debug hover use only range, not the word

上级 c130df5e
......@@ -188,7 +188,7 @@ class ShowDebugHoverAction extends EditorAction {
}
const range = new Range(position.lineNumber, position.column, position.lineNumber, word.endColumn);
return editor.getContribution<IDebugEditorContribution>(EDITOR_CONTRIBUTION_ID).showHover(range, word.word, true);
return editor.getContribution<IDebugEditorContribution>(EDITOR_CONTRIBUTION_ID).showHover(range, true);
}
}
......
......@@ -483,7 +483,7 @@ export interface IDebugService {
// Editor interfaces
export interface IDebugEditorContribution extends IEditorContribution {
showHover(range: Range, hoveringOver: string, focus: boolean): TPromise<void>;
showHover(range: Range, focus: boolean): TPromise<void>;
showBreakpointWidget(lineNumber: number): void;
closeBreakpointWidget(): void;
}
......
......@@ -40,7 +40,6 @@ export class DebugEditorContribution implements IDebugEditorContribution {
private showHoverScheduler: RunOnceScheduler;
private hideHoverScheduler: RunOnceScheduler;
private hoverRange: Range;
private hoveringOver: string;
private breakpointHintDecoration: string[];
private breakpointWidget: BreakpointWidget;
......@@ -59,7 +58,7 @@ export class DebugEditorContribution implements IDebugEditorContribution {
this.breakpointHintDecoration = [];
this.hoverWidget = new DebugHoverWidget(this.editor, this.debugService, this.instantiationService);
this.toDispose = [];
this.showHoverScheduler = new RunOnceScheduler(() => this.showHover(this.hoverRange, this.hoveringOver, false), HOVER_DELAY);
this.showHoverScheduler = new RunOnceScheduler(() => this.showHover(this.hoverRange, false), HOVER_DELAY);
this.hideHoverScheduler = new RunOnceScheduler(() => this.hoverWidget.hide(), HOVER_DELAY);
this.registerListeners();
this.breakpointWidgetVisible = CONTEXT_BREAKPOINT_WIDGET_VISIBLE.bindTo(contextKeyService);
......@@ -165,10 +164,10 @@ export class DebugEditorContribution implements IDebugEditorContribution {
return EDITOR_CONTRIBUTION_ID;
}
public showHover(range: Range, hoveringOver: string, focus: boolean): TPromise<void> {
public showHover(range: Range, focus: boolean): TPromise<void> {
const sf = this.debugService.getViewModel().focusedStackFrame;
if (sf && sf.source.uri.toString() === this.editor.getModel().uri.toString()) {
return this.hoverWidget.showAt(range, hoveringOver, focus);
return this.hoverWidget.showAt(range, focus);
}
}
......@@ -203,7 +202,6 @@ export class DebugEditorContribution implements IDebugEditorContribution {
this.hideHoverScheduler.schedule();
}
this.showHoverScheduler.cancel();
this.hoveringOver = null;
}
// hover business
......@@ -229,10 +227,8 @@ export class DebugEditorContribution implements IDebugEditorContribution {
return;
}
if (targetType === MouseTargetType.CONTENT_TEXT) {
const wordAtPosition = this.editor.getModel().getWordAtPosition(mouseEvent.target.range.getStartPosition());
if (wordAtPosition && this.hoveringOver !== wordAtPosition.word) {
if (!mouseEvent.target.range.equalsRange(this.hoverRange)) {
this.hoverRange = mouseEvent.target.range;
this.hoveringOver = wordAtPosition.word;
this.showHoverScheduler.schedule();
}
} else {
......
......@@ -152,7 +152,7 @@ export class DebugHoverWidget implements IContentWidget {
new Range(range.startLineNumber, 0, range.endLineNumber, 0);
}
public showAt(range: Range, hoveringOver: string, focus: boolean): TPromise<void> {
public showAt(range: Range, focus: boolean): TPromise<void> {
const pos = range.getStartPosition();
const process = this.debugService.getViewModel().focusedProcess;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册