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
Create document wide search and replace feature for file editor/notebooks #1074
Comments
It would be great if there was a way to have a "find and replace" option for a single cell, in addition to the entire document. |
… & jump to line Only because Ctrl+Shit-F, the default keybinding for search and replace is already assinged to toggle file browser. This local to the current editor, so not good enough for jupyterlab#1074
This is a feature that I've been hoping for. Is anyone actively working on it? If not, how hard would it be to implement for a first-time contributor to the project? |
Hi @dfan14051, the WIP table of contents PR #3949 is a good example of the level of complexity required and about what it might look like. |
Is there a way to accomplish this while work is tabled? The current find and replace is disabled from what I can tell |
Hi @billgreenwald, unfortunately there is not. |
@billgreenwald I have had success opening files with jupyter notebook, in parallel with jupyter lab (eg just navigating to the file from eg localhost:8888/tree/MyDir. Find and replace is then available from the Find menu. Total pain to jump back and fourth but useful for that critical find-replace job. |
I would suggest promoting that to one of the beta, it is deeply needed. |
@cramjaco thanks for the suggestion, I ended up doing this for my find a replace. I also agree that having it in lab in some form during beta would be great |
I currently launch the classic notebook with It would be great if this feature in JupyterLab had the same functionality as in classic Jupyter. |
Is there any WIP on this? |
Hi @idoDavid, to my knowledge no one is currently working on this. |
@blink1073 @ellisonbg I'd like to work on this document/notebook-wide search-replace plugin. Has there been any discussion as to the UI for this feature? Potential options:
I'm going to try and get the functionality going with minimal UI before worrying about it too much. Any thoughts / input much appreciated :) |
Hi @jandrewtorres, there hasn't been any design discussion that I'm aware of. Another option is to use a side bar item. My preference would be to not have a modal for this. cc @tgeorgeux |
@blink1073 Awesome. I'm went forward with the sidebar today. It feels pretty natural. The same sidebar panel might be a good place for more document-wide commands/actions in the future. |
cc @tgeorgeux for design input, this is a must-have for 1.0. |
@jandrewtorres - I'm curious, did you publish your code anywhere? |
Based on discussions with @jasongrout @afshin and @ellisonbg, I'm going to start building out a first pass at single-document search. We've decided to go with a model where search providers that can handle different document types are registered and queried by a search extension that handles the UI. I'll start by building out a simple prototype UI for single-document search and mock out the infrastructure before we begin diving into the specific details of the API. |
when will global find and replace work? It is already 2019-3-7, and "find and replace" is still grey out in my jupyterlab |
My apologies, I linked my PR that added just the search part to this issue, which caused it to get closed. I missed that this issue asks for search and replace. I'm starting work on search and replace either today or tomorrow. |
@aschlaep Thank you so much. Looking forward to it. |
@Baukebrenninkmeijer Find/replace is currently available in the 1.0.0a3 prerelease. |
@ian-r-rose Aaah alright. Looking forward to it! |
Hi guys, is there any progress on search & replace. I don't know if it's just me, but close to 50% of all code development (aside from starting up with initial lines of course) is restructuring code which include A LOT of find/replace functionality. I love JupyterLab but from my understanding (which might be totally wrong, it wouldn't be the first time ;), the only way to go about it - is to open document in JupyterNotebook, do the renaming (very smoothly I must say), save, go back to JupyterLab, and run the code there to be sure everything is as expected. In reality usually it doesn't go as smoothly so going back and forward between JupyterLab and JupyterNotebook is something I noticed myself wasting a lot of precious time. Is there any other way to do this I'm not aware of. |
Hi @LukaPitamic, this feature is available today using |
@blink1073 AWESOME!!!! Thank you so much! |
@blink1073 I have installed it the way you suggested, but all I can see is Find functionality inside code cell being upgraded, but no Find & Replace functionality. I was talking about the one which is evoked in Jupyter Notebook in command mode, by selecting cells and pressing key F. |
The separate "Replace" menu was removed in #6350. If you press the arrow on the left it expands to a replace dialog: |
@blink1073 got it! Thank you very much. |
👍 |
@blink1073 is there a single-cell find-replace-all option? |
@austinmw not at this point. If you think one would be useful I would open an issue. |
I can't find a way to modify the hotkey (in the keyboard shortcuts it is listed as empty; I am trying to modify the entry for "command": "editmenu:find") which means that I can't use my browsers built in find anymore since they are both control + F The browser lets me search the output from cells as well, not just code, which is useful it also prevents regex search per cell because that was bound to control + F too |
Is this should be available in Version 0.35.4? I'm on it and I can't seem to find a way to invoke search and replace. |
It is in 1.0 |
In the classic notebook, both the file editor and notebooks have document wide search/replace. We need to create a new plugin that offers a UI for doing this in the file browser and notebook.
We should probably create a general plugin that does this that uses a new API that documents can expose for search/replace.
The text was updated successfully, but these errors were encountered: