pnedev / nppgtags

GTags plugin for Notepad++
GNU General Public License v2.0
39 stars 12 forks source link

Add panel with tags dynamically generated for active file #49

Open ArkadiuszMichalski opened 4 weeks ago

ArkadiuszMichalski commented 4 weeks ago

It would be convenient to have a dockable panel with a list of tags (at least for the active single file). The content of this panel can be generated dynamically as we switch to different files. Such a dynamic file tags can be kept/update in the plugin/config directory (or in configure location). This would provide quick support for any language which are covered by used generator (like Universal Ctags).

Something like this would be better than the built-in Function List, which is much weaker than the built-in parsers in usage tools by this plugin. Thanks to this for a single file we don't have to constantly call plugin commands searching for individual symbols. Such a list allows us to quickly find out (recall) the different names in a given file.

An example would be a plugin SourceCookifier, unfortunately it uses outdated Exuberant Ctags (in addition modified), and many things are no longer recognized. In its window tags can be presented in various forms as flat/flat grouped/grouped, which is very convenient. In addition it also supports working on an NPP session or own session, but it would be nice if NppGtags at least will support a single file mode (cross we can achieved using the current search mechanisms on previously generated tags for all files in project, which are sufficient).

image

pnedev commented 4 weeks ago

@ArkadiuszMichalski ,

NppGTags has different idea than SourceCookifier and I initially created it (a long time ago) as Notepad++ integrated helper tool for code navigation for my personal use only. Anyway, your idea is good and can be quite useful and I'll consider implementing it but I rarely find spare time so I don't promise anything.

TagsView plugin by Dovgan is targeted particularly at that functionality by the way and it uses Universal CTags as parser. Last time I checked it handled the currently active document and probably its corresponding header file (if there is one and if I remember correctly :) ). I don't know its current status though.

BR

ArkadiuszMichalski commented 3 weeks ago

Anyway, your idea is good and can be quite useful and I'll consider implementing it but I rarely find spare time so I don't promise anything.

I use NppGTags because it is very useful and the only thing I still miss is a handy panel with symbol names (even for a single file), because thanks to it I can quickly bring to mind all these names (useful when we return to code after some time).

TagsView plugin by Dovgan is targeted particularly at that functionality by the way and it uses Universal CTags as parser.

I checked it some time ago and unfortunately it lacks grouping by type, everything is mixed up, list items don't even have a simple icon (or other marker distinguishing a particular type). I'm still looking for something in Notepad++ similar to SourceCookifier (but with up-to-date generators), but without success. If NppGTags got such a panel it would basically be complete (if we take ctags into account).

All I can do is wait, maybe in that time I will finally learn C++/WinAPI enough to be able to write it myself (but the chances for that are not that optimistic).