Feature request: Find and Replace / Better Search

Now that I've got more and more flows within Node RED, it would be nice if there was an option to replace items within the UI.

For example, my use of NR is primarily for automation with Home Assistant. If I change something in my HA configuration that changes an entity name, I have to manually update all of the flows.

  1. Copy the entity I want to find and replace to clipboard
  2. Open search
  3. Search to find those entities
  4. Double click to be taken to the place where the node is located that is using that entity
  5. I hope I notice which one it is when it blinks, as on a big monitor/high res screen, you have a lot on the screen. Otherwise rinse and repeat from 2.
  6. Double click on that node to open the edit panel
  7. Copy the new entity name that I want to use (assuming it's something that's significantly different)
  8. Paste the new entity name
  9. Save
  10. Start back at 1 for the next one

This is perfectly fine if you are doing 1-10, but if you have more than that, it's a big PITA and a massive time suck. I know there are hacky things you can do like bring down NR and edit the JSON file, but that's definitely not my preferred option.

Some suggestions that could be implemented:

  • Have search be in a sidebar that covers over the left nodes bar as when you are searching you do not need to access the nodes to drag/drop
  • Only reseat the search params when the user clears them
  • Limit search to just current tab or all tabs
  • Implement basic find, find next, replace, replace all
  • Implement more advanced options like case sensitivity, whole word, and regex searching
  • Improve highlighting of the nodes containing the found term. Maybe darken/fade out the irrelevant nodes or significantly increase the flashing border size.

A lot of these are pretty standard search options available in most IDEs (including web based Ace). Adding these would make search a first class citizen of Node RED.

2 Likes

Thanks for the feedback. Lots of good ideas there.

There is an item on the backlog for adding a new sidebar panel that gives a structured tree view of your flows/subflows/nodes. Adding a search filter to that would, I think, address lot of your points.

What I have done and it seems to work on my flows is to export the entire flow or flows, open in a text editor and then do a search and replace. I have no way of knowing how big my flow is compared to others and this isn't to say a built in search and replace isn't a good idea but it does seem to be a work around for me.

That sounds like a great solution!

I think you can also shut down NR and manually edit the JSON, but that’s introducing more risk than I’d like.