microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.62k stars 29.03k forks source link

Horizontal Scrolling Broken #24710

Closed rwatts3 closed 7 years ago

rwatts3 commented 7 years ago

Steps to Reproduce:

  1. Open any file and try to horizontal scroll either via mouse wheel or shift scroll.
rwatts3 commented 7 years ago

Hello i'm still experiencing this issue , I've noticed a separate issue was closed for Ubuntu users, but still noticing this with Windows.

rwatts3 commented 7 years ago

This seems to be fixed in the latest release.

rwatts3 commented 7 years ago

correction, this issue still exists.

Tyriar commented 7 years ago

/cc @bpasero

I'm seeing this issue again as well, on my Ubuntu work machine and on Windows:

Extension Author Version
vscode-svgviewer cssho 1.4.0
EditorConfig EditorConfig 0.9.3
git-project-manager felipecaputo 1.3.0
vscode-settings-cycler hoovercj 1.0.1
seti-icons qinjia 0.1.3
theme-glacier Tyriar 0.0.10
theme-sapphire Tyriar 0.1.0 ;
Tyriar commented 7 years ago

Some more info:

rwatts3 commented 7 years ago

Hmm the trackpad usually is for forward and back commands. I can confirm this is the same case for me. I'm wondering if electron has switched the forward and back commands for the horizontal scrolling. Because in my mouse settings if I set the horizontal scroll will to page forward and backward it works perfectly. But I shouldn't have to do that.

On Fri, Apr 21, 2017, 8:15 PM Daniel Imms notifications@github.com wrote:

Some more info: shift+mouse wheel does not work, however when I use the trackpad and two finger swipe horizontally it works fine.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/Microsoft/vscode/issues/24710#issuecomment-296343344, or mute the thread https://github.com/notifications/unsubscribe-auth/AFFsSQY9ffm0pBuXBU3Hn20E_WmGV1xoks5ryXC7gaJpZM4M9GOh .

bpasero commented 7 years ago

@Tyriar @rwatts3 I tried to reproduce and failed with my setup (Windows 10 and Windows 7 on macOS running in Parallels). Here is what I try:

panel-red

Are you doing something different? Does it reproduce when you run with blank settings?

rwatts3 commented 7 years ago

I tried to reload vscode insiders without any settings, and i'm still having the same experience.

rwatts3 commented 7 years ago

One other note, I have mac os sierra at my home workstation and everything works perfectly there. It seems to be Windows specific. I'm running Windows 7

rwatts3 commented 7 years ago

Here are errors and warnings upon restarting insiders without typing anything. I wonder if this has anything to do with it.

Overwriting extension <<.handlebars>> to now point to mime <<text/x-handlebars>>
mime.ts:59 Overwriting extension <<.hbs>> to now point to mime <<text/x-handlebars>>
mainThreadExtensionService.ts:111 [C:\Users\rwatts\.vscode\extensions\hollowtree.vue-snippets-0.1.1]: Unknown language in `contributes.snippets.language`. Provided value: pugt.$localShowMessage @ mainThreadExtensionService.ts:111t._showMessage @ mainThreadExtensionService.ts:130t._handleMessage @ mainThreadExtensionService.ts:90i @ mainThreadExtensionService.ts:163e._msg @ extensionsRegistry.ts:29e.error @ extensionsRegistry.ts:37e._withSnippetContribution @ TMSnippets.ts:66(anonymous function) @ TMSnippets.ts:54e._handle @ extensionsRegistry.ts:107e.acceptUsers @ extensionsRegistry.ts:91t._handleExtensionPoint @ mainThreadExtensionService.ts:178t._onExtensionDescriptions @ mainThreadExtensionService.ts:156(anonymous function) @ mainThreadExtensionService.ts:85done @ winjs.base.raw.js:1524g @ winjs.base.raw.js:1180enter @ winjs.base.raw.js:852_run @ winjs.base.raw.js:1068_completed @ winjs.base.raw.js:1036u @ winjs.base.raw.js:1813Y.then.o.(anonymous function) @ winjs.base.raw.js:1838g @ winjs.base.raw.js:1170enter @ winjs.base.raw.js:852_run @ winjs.base.raw.js:1068_completed @ winjs.base.raw.js:1036g @ winjs.base.raw.js:1170enter @ winjs.base.raw.js:852_run @ winjs.base.raw.js:1068_completed @ winjs.base.raw.js:1036u @ winjs.base.raw.js:1813Y.then.o.(anonymous function) @ winjs.base.raw.js:1838g @ winjs.base.raw.js:1170enter @ winjs.base.raw.js:852_run @ winjs.base.raw.js:1068_completed @ winjs.base.raw.js:1036then @ winjs.base.raw.js:1566enter @ winjs.base.raw.js:747_run @ winjs.base.raw.js:1068_setCompleteValue @ winjs.base.raw.js:1052g @ winjs.base.raw.js:1170enter @ winjs.base.raw.js:852_run @ winjs.base.raw.js:1068_completed @ winjs.base.raw.js:1036(anonymous function) @ async.ts:643(anonymous function) @ C:\Program Files (x86)\Microsoft VS Code\resources\app\node_modules\graceful-fs\graceful-fs.js:78readFileAfterClose @ original-fs.js:445
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  bookmarks.toggle
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  bookmarks.jumpToNext
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  bookmarks.jumpToPrevious
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  code-runner.run
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  code-runner.runCustomCommand
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  code-runner.runByLanguage
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  code-runner.stop
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  extension-leaderboard.showExtensionLeaderboard
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  workbench.action.reloadWindow
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  workbench.action.toggleDevTools
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  editor.fold
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  editor.unfold
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  editor.foldAll
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  editor.unfoldAll
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  editor.unfoldAll
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  editor.unfoldAll
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  slack.slackSendSelection
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  slack.slackSendMsg
keybindingsRegistry.ts:195 Ctrl+Alt+ keybindings should not be used by default under Windows. Offender:  e {type: 1, ctrlKey: true, shiftKey: false, altKey: true, metaKey: false…}  for  slack.slackUploadFileCurrent
keybindingResolver.ts:129 Conflict detected, command `code-runner.run` cannot be triggered due to slack.slackSendMsg
keybindingResolver.ts:129 Conflict detected, command `bookmarks.jumpToPrevious` cannot be triggered due to code-runner.runByLanguage
keybindingResolver.ts:129 Conflict detected, command `code-runner.runByLanguage` cannot be triggered due to slack.slackUploadFileCurrent
keybindingResolver.ts:129 Conflict detected, command `bookmarks.jumpToPrevious` cannot be triggered due to slack.slackUploadFileCurrent
keybindingResolver.ts:129 Conflict detected, command `workbench.action.debug.stepOut` cannot be triggered due to workbench.action.toggleZenMode
keybindingResolver.ts:129 Conflict detected, command `scrollLineDown` cannot be triggered due to editor.action.moveLinesDownAction
keybindingResolver.ts:129 Conflict detected, command `gitlens.showQuickRepoStatus` cannot be triggered due to tortoise-svn ...
keybindingResolver.ts:129 Conflict detected, command `scrollLineUp` cannot be triggered due to editor.action.moveLinesUpAction
keybindingResolver.ts:129 Conflict detected, command `gitlens.showQuickRepoStatus` cannot be triggered due to tortoise-svn ...(select path)
keybindingResolver.ts:129 Conflict detected, command `extension.disconnect` cannot be triggered due to editor.action.copyLinesDownAction
keybindingResolver.ts:129 Conflict detected, command `workbench.action.terminal.clear` cannot be triggered due to workbench.action.toggleSidebarVisibility
keybindingResolver.ts:129 Conflict detected, command `workbench.action.splitEditor` cannot be triggered due to workbench.action.toggleSidebarVisibility
keybindingResolver.ts:129 Conflict detected, command `workbench.action.terminal.clear` cannot be triggered due to workbench.action.splitEditor
keybindingResolver.ts:129 Conflict detected, command `workbench.action.moveActiveEditorGroupLeft` cannot be triggered due to workbench.action.splitEditor
keybindingResolver.ts:129 Conflict detected, command `workbench.action.showAllSymbols` cannot be triggered due to workbench.action.quickOpen
keybindingResolver.ts:129 Conflict detected, command `editor.action.selectHighlights` cannot be triggered due to workbench.action.editor.changeLanguageMode
keybindingResolver.ts:129 Conflict detected, command `workbench.actions.view.problems` cannot be triggered due to markdown.showPreviewToSide
keybindingResolver.ts:129 Conflict detected, command `workbench.action.gotoSymbol` cannot be triggered due to workbench.action.files.openFolder
keybindingResolver.ts:129 Conflict detected, command `editor.action.copyLinesUpAction` cannot be triggered due to cursorColumnSelectUp
keybindingResolver.ts:129 Conflict detected, command `editor.action.copyLinesDownAction` cannot be triggered due to cursorColumnSelectDown
keybindingResolver.ts:129 Conflict detected, command `workbench.action.debug.stepInto` cannot be triggered due to workbench.action.toggleFullScreen
keybindingResolver.ts:129 Conflict detected, command `workbench.action.openRecent` cannot be triggered due to workbench.action.gotoSymbol
keybindingResolver.ts:129 Conflict detected, command `editor.fold` cannot be triggered due to editor.unfold
keybindingResolver.ts:129 Conflict detected, command `editor.action.jumpToBracket` cannot be triggered due to workbench.files.action.showActiveFileInExplorer
keybindingResolver.ts:129 Conflict detected, command `extension.connect` cannot be triggered due to workbench.action.files.copyPathOfActiveFile
keybindingResolver.ts:129 Conflict detected, command `workbench.action.terminal.openNativeConsole` cannot be triggered due to workbench.action.files.copyPathOfActiveFile
keybindingResolver.ts:129 Conflict detected, command `workbench.action.quickOpenNavigateNext` cannot be triggered due to workbench.action.showAllEditors
keybindingResolver.ts:129 Conflict detected, command `workbench.action.toggleSidebarVisibility` cannot be triggered due to workbench.action.showAllEditors
keybindingResolver.ts:129 Conflict detected, command `workbench.action.debug.stepOut` cannot be triggered due to workbench.action.toggleZenMode
bpasero commented 7 years ago

I assume those warnings would go away when you run code code --disable-extensions. I would not assume however that this would help you for this issue, but worth a try anyway.

bpasero commented 7 years ago

@rwatts3 @Tyriar I wonder if we could do a little experiment. Can you:

panel-red

If so, this would point to a general problem with our UI framework (electron) and we should report it there.

rwatts3 commented 7 years ago

seems to be this line that's throwing an error which may be causing the scroll to not work.

private _assertNoCtrlAlt(keybinding: SimpleKeybinding, commandId: string): void {
        if (keybinding.ctrlKey && keybinding.altKey && !keybinding.metaKey) {
            if (KeybindingsRegistryImpl._mightProduceChar(keybinding.keyCode)) {
                console.warn('Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ', keybinding, ' for ', commandId);
            }
        }
    }
bpasero commented 7 years ago

@rwatts3 I would think that is unrelated, but please follow my steps to find out more.

Tyriar commented 7 years ago

@bpasero I downloaded https://github.com/electron/electron/releases/download/v1.6.6/electron-v1.6.6-linux-x64.zip (this release) on the Linux machine that I can reproduce it on and I can scroll just fine.

out

Note that after this gif I updated to latest and it still doesn't work on:

Version 1.12.0-insider
Commit 84b2a1ecb6a342d7d82605a330581f06cb726fc3
Date 2017-04-24T06:10:06.779Z
Shell 1.6.6
Renderer 56.0.2924.87
Node 7.4.0
rwatts3 commented 7 years ago

Sorry I didn't see your message until just now. Yes it scrolls fine.

On Mon, Apr 24, 2017, 10:31 AM Daniel Imms notifications@github.com wrote:

@bpasero https://github.com/bpasero I downloaded https://github.com/electron/electron/releases/download/v1.6.6/electron-v1.6.6-linux-x64.zip (this release https://github.com/electron/electron/releases/tag/v1.6.6) on the Linux machine that I can reproduce it on and I can scroll just fine.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Microsoft/vscode/issues/24710#issuecomment-296760006, or mute the thread https://github.com/notifications/unsubscribe-auth/AFFsSWbEkx9lju87MlVi747VIwe3JtU6ks5rzNxugaJpZM4M9GOh .

bpasero commented 7 years ago

@Tyriar need your help here for more debugging. First thing that comes to my mind is to add a breakpoint into onMouseWheel to see if this is even triggered when scrolling horizontally?

Tyriar commented 7 years ago

@bpasero it's hit, but e.deltaY is set, not e.deltaX as I would expect.

image

e.shiftKey is set though:

image

Are we meant to handle e.shiftKey manually?

bpasero commented 7 years ago

@Tyriar any chance you could debug stable to verify that e.deltaX is set? Is there any other property that has an increasing value?

/cc @alexandrudima if you have any clues on this

Looking for chrome issues I stumbled upon: https://bugs.chromium.org/p/chromium/issues/detail?id=676674

bpasero commented 7 years ago

Fixed via https://github.com/Microsoft/vscode/commit/9ea38c08c0cc9af80e898f2874d35701c884b855

rwatts3 commented 7 years ago

Thank you guys, very much appreciated. Have realized over the last few days just how much I depend on horizontal scrolling.

rwatts3 commented 7 years ago

As i'm not familiar with the insiders release pattern, any idea when we can expect this to come down the pipeline ?

Tyriar commented 7 years ago

@rwatts3 should be in tomorrow's Insiders build

rwatts3 commented 7 years ago

Thank you

On Tue, Apr 25, 2017 at 11:54 AM Daniel Imms notifications@github.com wrote:

@rwatts3 https://github.com/rwatts3 should be in tomorrow's Insiders build

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Microsoft/vscode/issues/24710#issuecomment-297130185, or mute the thread https://github.com/notifications/unsubscribe-auth/AFFsSaMKAPvjEisTNWvsMd0B2n280MPbks5rzkFtgaJpZM4M9GOh .