bhaeussermann/scroll-with-stationary-cursor

Default key binding is already in use, hence ineffective

ite-klass opened this issue · 6 comments

The default CTRL+Home/End is a bad default because that is already bound to jump to beginning and end of the document.

Also it effectively makes the default not be in effect, because the mentioned other default takes precedence.

I would also argue that cursor up and down make more semantical sense. It looks like Cursor down with all these modifiers is already bound: CTRL, CTRL+ALT, CTRL+SHIFT, SHIFT+ALT. So the only one free would be CTRL+SHIFT+ALT.

I see in the commit history you changed away from that, but the commit message does provide context, it does not reason why that was necessary or made sense. Why did it?

Thank you ite-klass for your feedback!

I didn't realize Ctrl + Home/End were bound because they were not assigned in my keyboard mapping scheme (which is customized quite a bit). I moved away from Ctrl + Shift + Alt + Up/Down because this combination can be a bit cumbersome to press, especially if you use it a lot.

I reverted to the default keyboard mapping and tried to find alternative key combinations that are available. I found that for the Text Editor, both Shift + Alt + PgUp/PgDown and Alt + Home/End are available. The former would probably make more sense (modifying PgUp/PgDown rather than Home/End), but the latter will be easier to press.

Which one would be best in your opinion? Of course we can always revert back to the Ctrl + Shift + Alt + Up/Down combination. You are welcome to submit a pull request.

Cursor up down, page up down and home end are all used for vertical movement, but they each have different meaning, different distance to travel.

Both for consistency and for thinking beyond what basic functionality this plugin currently provides, I think the meaning should stay the same.

Cursor moves by a single line, page by a page, and home/end to file borders.

This plugin could also provide each of these movement techniques/distances so the differentiation makes very much sense.

The number of modifier keys to press is a bit unfortunate, but I wouldn't break the semantic contract for that alone. The modifier keys are all together, pressable without too much effort.

I agree with the points you are making. I would be happy to change the default binding back to what it was before.

I tried installing the VS SDK and opening the project to see if I was able to resolve a bug I saw, but ultimately failed getting it to work. I'm working with VS 2019. The VSSDK Build nuget package is not downloadable. Manually updating it I still seem to have some project package reference issues. So it doesn't look like I can provide changes/pull requests (for those, and can't verify a simple git revert is working as expected).

@ite-klass Finally got round to it.

Sorry for replying only now; I somehow missed the notification.

Did you try installing Visual Studio SDK using the Visual Studio Installer? In VS, Click Tools -> Get Tools and Features..., and change to the "Individual components" tab. You should have "Visual Studio SDK" checked.

2019-10-13_21h48_02

If it is installed, then in Visual Studio, when you create a new project, you should have a project template called "VSIX Project".

2019-10-13_21h43_51

I did install the Visual Studio SDK, but the project failed to compile/resolve.

As I said earlier:

The VSSDK Build nuget package is not downloadable. Manually updating it I still seem to have some project package reference issues.