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

Remove coverage via shortcut key broken #208

Closed AlbertoBN closed 5 years ago

AlbertoBN commented 5 years ago

Describe the bug Pressing Ctrl+Shift+7 Displays coverage Pressing Ctrl+Shift+0 Does not remove coverage

Steps to reproduce:

  1. Go to covered file
  2. Press Ctrl+Shift+7 - Coverage appears
  3. Press Ctrl+Shift+0 - Coverage remains
  4. Open command pallet. Select to remove coverage. Coverage is removed

Expected behaviour When pressing Ctrl+Shift+0 coverage should be removed

Desktop (please complete the following information):

ryanluker commented 5 years ago

@AlbertoBN thanks for submitting an issue. The shortcut display and remove seems to be working for myself (linux)(see picture and webm below) can you check your keybindings and make sure they are still set for the extension to what you expect?[1][2] Also can you check your extension log to see if there is an error? [0]

0: https://user-images.githubusercontent.com/1335972/52905245-52a37e00-31ec-11e9-9394-00b0fce02193.png 1: https://user-images.githubusercontent.com/1335972/52905208-ef195080-31eb-11e9-996e-a26e8cfd32e7.png 2: https://github.com/ryanluker/vscode-coverage-gutters/files/2872374/Screencast.from.2019-02-16.01.06.55.PM.zip

AlbertoBN commented 5 years ago

Hi, Just a quick update. The keybindings are correct. I will check the log later today. However what I did discover for now is that The binding for "remove watch" dies the trick. BTW I also checked this on a fresh install with fewer extensions and had the same problem. Will follow up with the log

AlbertoBN commented 5 years ago

Interesting fact... I am using Omnisharp, .Net test explorer and Coverlet .net tool to produce the coverage

AlbertoBN commented 5 years ago

So I checked the log and there was nothing different from yours.

[1550999660878][renderer][section file path]:

However!!!! apparently on Windows 10 with VSCode ctrl+shift+0 cannot be set or called... which is mind boggling . So I set it to ctrl+shift+backspace and it works like a charm!

AlbertoBN commented 5 years ago

One final note... if watch is not set and remove watch is selected then this little baby pops up

[2019-02-24 11:29:09.646] [exthost] [error] TypeError: Cannot read property 'dispose' of undefined at CoverageService.dispose (C:\Users\Alberto.vscode\extensions\ryanluker.vscode-coverage-gutters-2.3.0\out\src\coverage-system\coverageservice.js:37:30) at Gutters.removeWatch (C:\Users\Alberto.vscode\extensions\ryanluker.vscode-coverage-gutters-2.3.0\out\src\extension\gutters.js:66:30) at vscode.commands.registerCommand (C:\Users\Alberto.vscode\extensions\ryanluker.vscode-coverage-gutters-2.3.0\out\src\extension.js:28:17) at e._executeContributedCommand (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:485:959) at e.$executeContributedCommand (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:486:443) at t._doInvokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:644:118) at t._invokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:643:744) at t._receiveRequest (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:642:322) at t._receiveOneMessage (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:641:155) at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:638:960 at c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:38:994 at e.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:44:113) at a (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:170:213) at Socket.f._socketDataListener (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:170:434) at Socket.emit (events.js:182:13) at addChunk (_stream_readable.js:279:12) at readableAddChunk (_stream_readable.js:264:11) at Socket.Readable.push (_stream_readable.js:219:10) at Pipe.onread (net.js:636:20) extension.removeWatch

Which is harmless albeit annoying.

ryanluker commented 5 years ago

@AlbertoBN thanks for all the extra info! keybindings are my bane as I can never get exactly the right ones to please everyone / every operating system. I have added a fix to the 2.3.1 release for the harmless annoying error 4298597cba57e73cd22d3bf6aaf5edf6cea54a00 though.

AlbertoBN commented 5 years ago

On a final note .... 3 bugs caught with your visualization of coverage. So thank you!

Krysl commented 3 years ago

@ryanluker It seems that "Ctrl+Shift+0" is not supported by VSCode on windows. After I run the command Developer: Toggle Keyboard Shortcuts Troubleshooting, the log shows VSCode can not detect the "Ctrl+Shift+0".

log [2021-03-22 20:06:40.941] [renderer7] [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control [2021-03-22 20:06:40.941] [renderer7] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl') [2021-03-22 20:06:40.942] [renderer7] [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase. [2021-03-22 20:06:40.966] [renderer7] [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 16, key: Shift [2021-03-22 20:06:40.966] [renderer7] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 4 ('Shift') [2021-03-22 20:06:40.966] [renderer7] [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase. [2021-03-22 20:06:41.082] [renderer7] [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl,shift], code: Digit7, keyCode: 55, key: & [2021-03-22 20:06:41.082] [renderer7] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: Digit7, keyCode: 28 ('7') [2021-03-22 20:06:41.083] [renderer7] [info] [KeybindingService]: | **Resolving ctrl+shift+7** [2021-03-22 20:06:41.083] [renderer7] [info] [KeybindingService]: \ From 1 keybinding entries, matched coverage-gutters.displayCoverage, when: no when condition, source: user extension ryanluker.vscode-coverage-gutters. [2021-03-22 20:06:41.174] [renderer7] [info] [KeybindingService]: + Storing single modifier for possible chord shift. [2021-03-22 20:06:46.653] [renderer7] [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control [2021-03-22 20:06:46.653] [renderer7] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl') [2021-03-22 20:06:46.654] [renderer7] [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase. [2021-03-22 20:06:46.690] [renderer7] [info] [KeybindingService]: / Received keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 16, key: Shift [2021-03-22 20:06:46.691] [renderer7] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 4 ('Shift') [2021-03-22 20:06:46.691] [renderer7] [info] [KeybindingService]: \ Keyboard event cannot be dispatched in keydown phase. [2021-03-22 20:06:47.145] [renderer7] [info] [KeybindingService]: + Storing single modifier for possible chord shift.

Maybe you should set other shortcut keys for windows.

    "keybindings": [
      {
        "command": "coverage-gutters.removeCoverage",
        "key": "ctrl+shift+0",
        "mac": "shift+cmd+0",
        "win": "shift+cmd+backspace",
      }
ryanluker commented 3 years ago

@Krysl Interesting! I didn't know about this feature to set keybindings per OS... I made a new ticket here for that: https://github.com/ryanluker/vscode-coverage-gutters/issues/299

ryanluker commented 3 years ago

@Krysl thanks for the suggestion on using backspace, this will be in the 2.8.1 release! https://github.com/ryanluker/vscode-coverage-gutters/issues/299