Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interactive window input history navigation with up / down arrows conflicts with Vim extension keybindings #130425

Closed
yopparai opened this issue Aug 7, 2021 · 13 comments · Fixed by VSCodeVim/Vim#6980
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug interactive-window regression Something that used to work is now broken verified Verification succeeded
Milestone

Comments

@yopparai
Copy link

yopparai commented Aug 7, 2021

Issue Type: Bug


I cannot use UP/DOWN arrow keys for getting previous inputs from interactive window input field.
But I could do it in previous extension versions.

(I talk about this input field)
image


Extension version: 2021.8.1195043623
VS Code version: Code 1.59.0 (379476f, 2021-08-04T23:13:20.182Z)
OS version: Linux x64 5.8.0-63-generic snap
Restricted Mode: No

System Info
Item Value
CPUs AMD Ryzen 5 4600H with Radeon Graphics (12 x 1531)
GPU Status 2d_canvas: unavailable_software
gpu_compositing: disabled_software
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
opengl: disabled_off
rasterization: disabled_software
skia_renderer: enabled_on
video_decode: disabled_software
vulkan: disabled_off
webgl: unavailable_software
webgl2: unavailable_software
Load (avg) 1, 1, 1
Memory (System) 15.08GB (6.38GB free)
Process Argv --no-sandbox --force-user-env --unity-launch --crash-reporter-id 417bce1b-d3f2-43a2-bf1b-e2eb11a9b3f6
Screen Reader no
VM 0%
DESKTOP_SESSION ubuntu
XDG_CURRENT_DESKTOP Unity
XDG_SESSION_DESKTOP ubuntu
XDG_SESSION_TYPE x11
A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspyt653:30270858
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
pythonvsuse255:30340121
vscod805:30301674
pythonvspyt200:30340761
vscextlang:30333561
binariesv615:30325510
vsccppwt:30329788
pythonvssor306:30344512
bridge0708:30335490
vstre464cf:30346473

@greazer
Copy link
Member

greazer commented Aug 7, 2021

This should actually be working. I see @yopparai is on Linux. @zwangz, are you as well?

@greazer
Copy link
Member

greazer commented Aug 7, 2021

In the meantime while we're investigating, you can rollback to the old implementation with this setting:

    "jupyter.enableNativeInteractiveWindow": false

@zwangz
Copy link

zwangz commented Aug 7, 2021

This should actually be working. I see @yopparai is on Linux. @zwangz, are you as well?

Thanks for your prompt reply. I am on

  • OS: macos Catalina 10.15.7.
  • VSC: Version: 1.59.0; Commit: 379476f; Date: 2021-08-04T23:14:40.191Z
  • Extension version: 2021.8.1195043623

@yopparai
Copy link
Author

yopparai commented Aug 7, 2021

This should actually be working. I see @yopparai is on Linux. @zwangz, are you as well?

I figured out the problem.
The history doesn't work because I have the Vim extension enabled. It works fine if Vim is disabled.

Maybe issue should be closed but history works fine in old implementation with enabled Vim.

@zwangz
Copy link

zwangz commented Aug 7, 2021

This should actually be working. I see @yopparai is on Linux. @zwangz, are you as well?

I figured out the problem.
The history doesn't work because I have the Vim extension enabled. It works fine if Vim is disabled.

Maybe issue should be closed but history works fine in old implementation with enabled Vim.

@yopparai - indeed, thanks for this. @greazer I can confirm history is working with Vim mode disabled. Is this something you guys could investigate or should an issue be raised on the Vim extension's github instead?

@greazer greazer transferred this issue from microsoft/vscode-jupyter Aug 9, 2021
@greazer greazer added this to the July 2021 Recovery milestone Aug 9, 2021
@greazer greazer added bug Issue identified by VS Code Team member as probable bug regression Something that used to work is now broken candidate Issue identified as probable candidate for fixing in the next release and removed candidate Issue identified as probable candidate for fixing in the next release labels Aug 10, 2021
@greazer
Copy link
Member

greazer commented Aug 10, 2021

@zwangz, we are actively investigating how to best handle this. If I may ask though, what would you prefer, ultimately? Are you suggesting that you prefer that the input box in the interactive window remains VIM disabled? Or would you prefer that VIM mode works there, just make sure that getting history works as well?

@yopparai
Copy link
Author

@greazer
I'd prefer enable VIM mode inside interactive window input. Just because it feels more intuitive to have VIM enabled in all input fields. Otherwise, this is not critical at all.

If it delays the release of the history fix, then it's better to remove VIM from this input field I think.

@zwangz
Copy link

zwangz commented Aug 10, 2021

Hi @greazer, thanks for asking. Personally I would love to see vim mode work in the interactive window (loved it when first trying it so well done!) - so yes it'd be great if we can just get history working as well.

@joyceerhl joyceerhl changed the title Interactive window input history doesn't work after extension update (jupytext mode) Interactive window input history navigation with up / down arrows conflicts with Vim extension keybindings Aug 10, 2021
@joyceerhl
Copy link
Contributor

@yopparai @zwangz Is it accurate to say that you would expect the interactive window's up/down (history navigation) to win over the Vim extension's up/down keybindings? Are there any others where you would expect the interactive window to trump the Vim extension (e.g. esc)?

@zwangz
Copy link

zwangz commented Aug 10, 2021

@joyceerhl Ideally I would imagine the most intuitive way is to use up/down for history nav at least in Vim's insert mode. Or just "ctrl + up/down" like in iPython if that makes it easier?

Can't think of others where interactive window should override at the moment as frankly I've not used it much yet. Re "esc" I'd prefer it to behave like in vim unless overridden explicitly. I guess also the less overriding the more consistent it would be with the main editor which is a good thing.

@yopparai
Copy link
Author

@joyceerhl

Is it accurate to say that you would expect the interactive window's up/down (history navigation) to win over the Vim extension's up/down keybindings?

Yes. Also I like @zwangz's option.

Are there any others where you would expect the interactive window to trump the Vim extension (e.g. esc)?

No. I did not find any other conflicting keybindings.

@rebornix
Copy link
Member

rebornix commented Aug 10, 2021

@zwangz @yopparai thank you both for the suggestions. It makes sense to support history navigation in insert mode, we will prepare a fix for the Vim extension.

rebornix added a commit to VSCodeVim/Vim that referenced this issue Aug 11, 2021
* fix microsoft/vscode#130425
* insert mode only
* only navigate history when the selection is empty
@zwangz
Copy link

zwangz commented Aug 11, 2021

Can confirm this is fixed in Vim extension version v1.21.6.

Great work thanks! @rebornix @greazer @joyceerhl

@mjbvz mjbvz added the verified Verification succeeded label Aug 25, 2021
@github-actions github-actions bot locked and limited conversation to collaborators Sep 25, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug interactive-window regression Something that used to work is now broken verified Verification succeeded
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants