mirror of
https://github.com/Microsoft/vscode
synced 2024-10-02 17:32:41 +00:00
testing: fix confusing line decorations when hovering over line numbers (#214275)
Fixes #212585
This commit is contained in:
parent
ad4f719bd5
commit
4af0c6a8f4
|
@ -51,7 +51,6 @@ import { ITestService } from 'vs/workbench/contrib/testing/common/testService';
|
||||||
import { CoverageDetails, DetailType, IDeclarationCoverage, IStatementCoverage } from 'vs/workbench/contrib/testing/common/testTypes';
|
import { CoverageDetails, DetailType, IDeclarationCoverage, IStatementCoverage } from 'vs/workbench/contrib/testing/common/testTypes';
|
||||||
import { TestingContextKeys } from 'vs/workbench/contrib/testing/common/testingContextKeys';
|
import { TestingContextKeys } from 'vs/workbench/contrib/testing/common/testingContextKeys';
|
||||||
|
|
||||||
const MAX_HOVERED_LINES = 30;
|
|
||||||
const CLASS_HIT = 'coverage-deco-hit';
|
const CLASS_HIT = 'coverage-deco-hit';
|
||||||
const CLASS_MISS = 'coverage-deco-miss';
|
const CLASS_MISS = 'coverage-deco-miss';
|
||||||
const TOGGLE_INLINE_COMMAND_TEXT = localize('testing.toggleInlineCoverage', 'Toggle Inline');
|
const TOGGLE_INLINE_COMMAND_TEXT = localize('testing.toggleInlineCoverage', 'Toggle Inline');
|
||||||
|
@ -213,9 +212,14 @@ export class CodeCoverageDecorations extends Disposable implements IEditorContri
|
||||||
|
|
||||||
const todo = [{ line: lineNumber, dir: 0 }];
|
const todo = [{ line: lineNumber, dir: 0 }];
|
||||||
const toEnable = new Set<string>();
|
const toEnable = new Set<string>();
|
||||||
|
const ranges = this.editor.getVisibleRanges();
|
||||||
if (!this.coverage.showInline.get()) {
|
if (!this.coverage.showInline.get()) {
|
||||||
for (let i = 0; i < todo.length && i < MAX_HOVERED_LINES; i++) {
|
for (let i = 0; i < todo.length; i++) {
|
||||||
const { line, dir } = todo[i];
|
const { line, dir } = todo[i];
|
||||||
|
if (!ranges.some(r => r.startLineNumber <= line && r.endLineNumber >= line)) {
|
||||||
|
continue; // stop once outside the viewport
|
||||||
|
}
|
||||||
|
|
||||||
let found = false;
|
let found = false;
|
||||||
for (const decoration of model.getLineDecorations(line)) {
|
for (const decoration of model.getLineDecorations(line)) {
|
||||||
if (this.decorationIds.has(decoration.id)) {
|
if (this.decorationIds.has(decoration.id)) {
|
||||||
|
|
Loading…
Reference in a new issue