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
460 stars 88 forks source link

Changing color settings has no effect #331

Closed josh-berry closed 3 years ago

josh-berry commented 3 years ago

Describe the bug I have tried changing the color settings to work around #330, but the gutter colors always remain at their default values. I've tried changing both the light and dark-theme colors, reloading the window, etc. all to no effect.

To Reproduce Steps to reproduce the behaviour:

  1. Open the Settings page
  2. Change the colors to something outlandish
  3. Notice there is no impact on any of the gutter colors being displayed
  4. Reload the window and re-watch for coverage (so the coverage markers appear in the gutter again)
  5. Notice that the default colors are still applied

Expected behaviour I expected the colors used in the gutters to match what I had configured.

Screenshots This screenshot was taken after changing the settings, reloading the window and reloading the coverage info:

bug-report

Desktop (please complete the following information):

Additional context Unfortunately the confluence of #330 and this bug together make it impossible for me to actually use Coverage Gutters--I can't tell partial and full coverage apart, and I can't change the colors so that I can tell them apart. :(

Really hope a quick fix for this can be found and released. Thanks!

josh-berry commented 3 years ago

One more note I forgot to mention--I typically use the SSH remote to connect to a Linux dev VM. (There's unfortunately no good way for me to try this while working locally.)

A few more things I've tried:

So I can turn on line coverage as a workaround for now (though I'd prefer not to).

mattseddon commented 3 years ago

@josh-berry I think this is related to #239. You should be able to set the colors of the gutters using the instructions found here.

The options that you need to set are:

{
    "coverage-gutters.gutterIconPathDark": "/path/to/gutter-icon-dark.svg",
    "coverage-gutters.noGutterIconPathDark": "/path/to/no-gutter-icon-dark.svg",
    "coverage-gutters.partialGutterIconPathDark": "/path/to/partial-gutter-icon-dark.svg"
}

The contents of the svgs would look like this:

<svg width="32" height="48" viewPort="0 0 32 48"
    xmlns="http://www.w3.org/2000/svg">
  <polygon points="16,0 32,0 32,48 16,48" fill="#0ADB8B"/>
</svg>

You can change the fill to whatever works for you.

Hope this helps 👍🏻.

josh-berry commented 3 years ago

Hi, thanks for the quick response! I didn't know about that SVG trick, I'll have to keep that in mind. I sync my settings across multiple machines so that might be a bit challenging to implement, but if using the line coverage turns out to be problematic I'll give it a try.

It does still seem weird/surprising to me that the line color settings don't also affect the gutter, so I hope this can be addressed in a future release.

Thanks again!

ryanluker commented 3 years ago

@josh-berry Thanks for submitting the ticket and @mattseddon for getting back so quickly!

You are correct that it is odd that the colours are not sync'd up between the line, ruler and gutter coverage. This is mostly due to the fact that microsoft's vscode api only allows svgs / images in the gutter as decorations AFAIK.

        /**
         * An **absolute path** or an URI to an image to be rendered in the gutter.
         */
        gutterIconPath?: string | Uri;

RE your remote file path issue: Hmm this might be a tricky one, vscode is usually pretty good about loading absolute / relative icons but the added wrinkle around the remote nature of your setup might cause problems 🤔 .

josh-berry commented 3 years ago

Ahhh gotcha--didn't realize this was a limitation of VSCode itself. Using line coverage has been working well enough for me so far, so I'll probably just keep doing that. Thanks though!

ryanluker commented 3 years ago

No problem, given the work arounds for now I will close this ticket as we can't do much until we can use rgba style colours in the gutters 🤔.