microsoft / vscode

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

Inconsistency in "Replace" between text files and notebooks #184290

Open jpmvferreira opened 1 year ago

jpmvferreira commented 1 year ago

I would like to suggest implementing consistent behavior in the "Replace" widget between notebooks and standard text files. To achieve this, simply having the notebook "Replace" widget work as in the standard text file would do.

In text files, calling the "Replace" widget via keybind or the command prompt automatically focuses the search part of the widget, unless a selection is active. In a notebook, the replace part of the widget is focused instead.

When pressing the escape key when the widget is focused, it will close the widget only if you are calling it from a standard text file, whereas if you are in a notebook it will simply lose focus.

When pressing tab and the search part of the widget is on focus it will jump to the replace part of the widget, if you are using it in a standard text file. If you are on a notebook, it will cycle between the different buttons (i.e.: match case, match whole word, etc.).

In the notebook version of the widget there is no keyboard shortcuts to replace the current selection or to replace all selections, which contrasts when its being used in a standard text file which offers customizable keybinds for both (editor.action.replaceOne and editor.action.replaceAll if I'm not mistaken).

I think it would be a really good idea to have this widget work in a notebook as if it was a single larger text file, as it would allow to jump between different cells easily, replace all occurrences and, to me the most important part, work properly using keyboard shortcuts.

rebornix commented 1 year ago

@jpmvferreira thanks for the suggestions, makes perfect sense to me to align the experience.

jpmvferreira commented 1 year ago

May I additionally suggest that the command for scrolling the page, which in a standard text file is ctrl+up and ctrl+down, to be available as a notebook command? By default it doesn't seem to work, and searching the settings I see no equivalent command available for the notebook.

I think this gets all of the pickiness out of the way!

starball5 commented 9 months ago

Related on Stack Overflow (wider picture): Why is find and replace in Notebooks in VS Code different than in text documents? Are there ways to make them more similar?