-
Notifications
You must be signed in to change notification settings - Fork 5.1k
Description
I use the "View->Project->Project Panel 1" command to open a project panel. Then I pick my project
files from various different directories. Then I save the workspace file with the self-choosen extension ".npj".
I set Preferences->MISC->"Workspace file ext." to ".npj". Now I can open Npp with my Workspace file as first parameter, and I'm back in my project. So far, so good.
My problem is, that the "Find in files" function of Npp cannot search through Project file sets. It can only search directories. This is bad for me, because my project files are kind of scattered around different places.
I miss the option "search all files in project", which most Compiler IDEs have. Now I could use a Compiler IDE, MS VC++ for instance, but the start up time of those IDE's is simply too long.
What I ended up with, was building an own version of Npp, which has additional check marks in the "Find in Files" dialog, Looks like this:
Selecting one of the Project check marks tells Npp, that it should search all files listed in this Project panel.
This extension has the following impact:
-
Modificatition of the Find in files dialog: 3 new check marks in FindReplaceDlg.rc, some shifting of existing controls, and 6 lines FindReplaceDlg_rc.h.
-
Modificatition of the Find in files dialog: 3 new check marks in FindReplaceDlg.rc, some shifting of existing controls, and 6 lines FindReplaceDlg_rc.h.
-
Changes to handle the new check marks (on/off/mutual exclusion against other check marks), ca. 110 Lines in FindReplaceDlg.cpp, 7 lines in FindReplaceDlg.h, 13 new lines in Parameters.cpp to
save/load the state of the new checkboxes, 3 new lines in Parameters.h -
A new function ProjectPanel::enumWorkSpaceFiles(...), ca. 30 new lines in ProjectPanl.cpp, 1 line in ProjectPanel.h
-
Modification of the find function itself, ca. 50 lines new or changed in Notepad_plus::findInFiles(...).
The benefit is, that Notepad++ can now search through all files of a project, like the most Compiler IDEs can do.
If you like this new feature, I would be happy to create a pull request, including only the modifications listed above, for reviewing.
