ryanluker / vscode-coverage-gutters

Display test coverage generated by lcov and xml - works with many languages
https://marketplace.visualstudio.com/items?itemName=ryanluker.vscode-coverage-gutters
MIT License
454 stars 88 forks source link

Don't highlight tested lines #432

Closed verhovsky closed 4 months ago

verhovsky commented 7 months ago

Is your feature request related to a problem? Please describe. I don't want to have my entire file/gutter highlighted in green.

Describe the solution you'd like If a line is not highlighted in red/yellow then that's sufficient for me to implicitly know that it's tested.

Additional context I think this should be the default theme and you could have a boolean option in settings to highlight tested lines in green.

ryanluker commented 6 months ago

@verhovsky Thanks for the ticket, hopefully we can help yeah out.

I don't want to have my entire file/gutter highlighted in green. You should be able to accomplish this by unsetting the highlight colours within the settings for the extension and the gutters (I believe atm we don't have the ability to turn off just some coverage in the gutters, sadly, so it is either off or on). Screenshot_20240113_103231 Screenshot_20240113_103754

You may also need to activate the line coverage to see just the partial and failing lines.

I think this should be the default theme and you could have a boolean option in settings to highlight tested lines in green.

The current thinking is to have all the features active at the start, and then let each developer decide which ones they want to turn off or on. The new user experience can definitely be better though, as you mentioned some users want to have a different default setup for example. We have discussed this in the past and want to implement some walkthroughs but haven't found the time yet. https://github.com/ryanluker/vscode-coverage-gutters/issues/333#issuecomment-1042581857

verhovsky commented 6 months ago

The color setting doesn't apply to the gutters. After adding this into my settings.json

  "coverage-gutters.highlightdark": "",
  "coverage-gutters.highlightlight": "",
  "coverage-gutters.showRulerCoverage": true,
  "coverage-gutters.showLineCoverage": true

I see this:

Screenshot 2024-01-13 at 10 49 35

have all the features active at the start, and then let each developer decide which ones they want to turn off or on

This is always the wrong approach in my opinion. I don't want to spend time reading through all the settings of an extension. I have 72 extensions installed, if each one requires a couple minutes to read its settings, that's an hour of my life for basically nothing, a slightly optimized code editing experience. But that's not even guaranteed, because I might read a setting and think I need it but make the wrong choice then it has to bother me enough over time to go back and fix it. Extension developers are in a better position to decide what their extension should look like for all the people that don't configure it, which is most users probably. Downloading this extension is like a quick diversion that I'm making instead of coding, to see my coverage out of curiosity. It should have good defaults and not expect most developers will dedicate the time to explore its settings because they have more fun things to do, namely writing code.

In a similar vein, you should make it so I don't have to run the "Watch" command every time I restart VS Code. It should be cheap to check for the lcov file at startup/when opening a new directory. Installing your extension is me already saying I want "Watch". If I didn't want it, I would uninstall/disable the extension. It also adds a step the very first time I install your extension that means I have to read your readme to understand why nothing happens after I installed the extension.

geneilsondeveloper commented 6 months ago

I would like to take this opportunity to thank the development team for the good work and ask, please, to enable 'show line coverage' by default.

ryanluker commented 5 months ago

@geneilsondeveloper Thanks for the input! @verhovsky Thank you for the PR, that is looking great and almost ready to merge 🦾.