TagsView is back! :)
-
@michael-vincent
The “context menu, part 1” was incomplete, I was going to finish it in the “part 2”. However, I noticed some stability issues together with some ideas of refactoring and decided these were more important :)
I think I’ll complete these things and upload a new build next week. Anyway, the plugin becomes better and better, so most likely the official version 0.5 will be released in June. -
@michael-vincent
If you don’t need your repo, feel free to delete it. -
Next iteration:
https://sourceforge.net/projects/tagsview/files/TagsView (dev builds)/
TagsView_dll_dev_220530.zipThe most important changes:
- stability improvements
- some refactoring
- context (popup) menu
-
TagsView_dll_dev_220603.zip
The most important changes:
- transparent icon (thanks to AlexeyB)
- stability improvements
- ctags.exe updated
-
Next iteration:
https://sourceforge.net/projects/tagsview/files/TagsView (dev builds)/
TagsView_dll_dev_220608.zipThe most important changes:
- NppTags: improving switching between docked dialogs
- AkelTags: improving the docked dialog
-
Finally, it happened!!!
TagsView 0.5 beta
- back again!
- TagsView on GitHub: https://github.com/d0vgan/TagsView
- 32-bit and 64-bit versions
- updated to AkelPad 4.9.8+ and Notepad++ 8.4+
- applying editor’s colors
- settings dialog
- context (popup) menu
- ability to scan all files in a folder
- using in-memory “cache” of tags to invoke ctags only when necessary
- transparent icon (thanks to AlexeyB)
- win32++ updated to 9.0
- uses the latest ctags from https://github.com/universal-ctags/ctags-win32
- a lot of internal improvements
- Glory to Ukraine! Glory to the heroes!
https://github.com/d0vgan/TagsView/releases/tag/tagsview_v05
https://sourceforge.net/projects/tagsview/files/TagsView v0.5 beta/ -
So, what’s next?
I think, the most important is to add a “Go to tag” functionality to be able to go to a function/class/variable under the cursor.
Next, I may steal the images from the Function List (or from some other source) to use them for different entities such as:
- function/method
- variable/member
- class/structure
- namespace
Next, as WinAPI’s TreeView and ListView are not good with really large collections of items, I need to find a way to overcome that. For example, there can be a virtual ListView (where the items are not stored by the WinAPI’s ListView itself), but there is no virtual TreeView.
So what I’m thinking is the following: once there will be the “Go to tag” functionality implemented, there will be no need to have all the items for all the associated files to be shown in the TreeView and ListView right after the parsing. I mean, the TreeView/ListView will show the items (tags) only for the current file, however all the tags for all the files will be present in the memory. And once another associated file is opened either manually or as a result of the “Go to tag”, the corresponding items (tags) for this file will be added to the TreeView/ListView. I.e. the items (tags) will be shown by demand, but the information about these tags will already be present in the memory. -
Oh boy! The most complicated part of the “Go to tag” is not dealing with the tags themselves - no, the most complicated part is related to a popup list with the tags similar to the one shown by Sublime Text or VS Code!
First, this list should be a popup one; next, it should support multi-line items (e.g. the first line is the function/variable itself and the second line is the context); next, it should be possible to apply colors of the editor for the selected item plus the colors other items.
So far I’ve been experimenting with a custom-draw ListBox (with the LBS_OWNERDRAWFIXED style), which gives the full responsibility of drawing of each item. I’ve been spending a lot of time to understand what and how needs to be done there, and it is still far from completion.If someone has experience with LBS_OWNERDRAWFIXED or LBS_OWNERDRAWVARIABLE ListBox, please let me know!
I’d be happy to re-use some existing code rather than doing it all from scratch! -
I’m a crap coder, but was able to modify TagLEET pop-up box to do some nice stuff:
Instead of just the list of tags and context (which I added a bit from the original TagLEET, I added that bottom “peek” window which updates as you scroll the tags in the upper half. It’s only a RichEdit control - I would have loved to make it a Scintilla edit component and lex the text in there as well, but alas, I’m a crap coder!
https://github.com/vinsworldcom/nppTagLEET
Cheers.
-
Guys,
It seems like TagsView doesn’t work on Notepad++ v8.4.4. On Notepad start it claims the plugin needs to be disabled.
Do you experience the same? -
@pnedev said in TagsView is back! :):
Guys,
It seems like TagsView doesn’t work on Notepad++ v8.4.4. On Notepad start it claims the plugin needs to be disabled.
Do you experience the same?No. It’s working fine for me. You have @Vitalii-Dovgan latest version?
Cheers.
-
I’m using TagsView v0.5 beta 64-bit version with:
Notepad++ v8.4.4 (64-bit) Build time : Jul 15 2022 - 17:54:42 Path : C:\Program Files\Notepad++\notepad++.exe Command Line : Admin mode : ON Local Conf mode : OFF Cloud Config : OFF OS Name : Microsoft Windows 10 (64-bit) OS Build : 17134.0 Current ANSI codepage : 1252 WINE : 5.0 Plugins : ComparePlus (1) NppEditorConfig (0.4) NppGTags (5) QuickText (0.2.4.1) SessionMgr (1.4.4) TagsView (0.5) XMLTools (3.1.1.13) _CustomizeToolbar (5.3)
On Notepad++ start I get a message “Access violation”.
Maybe it is because of Wine / Linux, I don’t know.I will try it on native Win10, thanks.
BR
-