Author |
Topic |
|
StefanEgo
Ketchup Master
56 Posts |
Posted - Apr 14 2015 : 02:44:31 AM
|
Hi,
great work with the VA Hashtags. This resolves the longest waiting feature request I had for VS (and also hoped that one time VAX would provide this). Really nice work. Our whole development team loves this new feature and it made us to buy renewal licenses. ;-)
That said, I'd have a few ideas. Maybe some of these might be added at one time? Would really appreciate it.
1. Ability to exclude certain hashtags. Some third party code (like boost, libxml, fcollada, etc.) uses #XXX in their comments which obviously aren't meant to be used as VA Hashtags. Some way to filter these out would be great. Example for cases where this applies atm: LibXML: xmlschemas.c - line 7890: * @flagAll: the specific flag for "#all"
#all here being a doxygen marker.
I'm thinking of being able to right-click on these (invalid) entries in the VA Hashtags window and select "Exclude". These would then be no longer displayed at all in the VA Hashtags list. Changing the code is kinda suboptimal, since we do not want to change 3rd-party code due to the maintenance overhead this would bring when upgrading the 3rd-party code/libs.
2. Ability to do and AND filtering in the VA Hashtags search box. For instance if I want to display all hashtags containing Foo and Bar I atm can only search for one or another but not list both hastags at the same time. Use-case: Using VA Hahstags as a TODO list we mark issues either with a prefix by name or by category. I'm assigned to Category1 and I also have my personal TODOs. Therefore I'd like to see all hashtags containing my name and "Category1" but none of the others.
3. Autocomplete for the searchbox Assume I have a hashtag named "Foo". Writing "F" in the searchbox could already bring up a suggestion list of all existing Hashtags starting with F, so I can select "Foo" directly.
4. Nested Hashtags We normally tag our hashtags with a name and a priority. So atm we use for instance NameLow or NameHigh to create hashtags with a given priority. It would be great if these would/could be listed in a nested form (aka: first the name, then the priority). Alternatively nesting could also work for multiple tags in the same line. So instead of writing (like atm): #NameLow and #NameHigh we'd then write: #Name #Low or #Name #High
resulting in a list like: Name |- Low [...] |- High [...] Low |- Name [...] High |- Name [...] |
Edited by - StefanEgo on Apr 15 2015 03:48:01 AM |
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Apr 14 2015 : 7:24:21 PM
|
I'm glad you like VA Hashtags
Ignoring VA Hashtags is sensible idea, I have put in a feature request for that:
case=89097
Idea 2: I have good news! You can do it by adding space to the filter box, something like: foo bar
BTW, this trick also works in Find Symbol Dialog (alt+shift+f), Open File Dialog (alt+shift+o) and the Method List (alt+m).
3. Autocomplete. I don't really understand this. While you type, the items appear down it's like an autocomplete, since you can select the item you want down there. The autocomplete would complete the word in the filter editbox, leaving you with only one item down. But the 2 are kind of similar, aren't they? Selecting from a popup or from the down there is the same thing with a different flavor, if you will
4. Currently, the nesting is used when there is more than one identical hashtag somewhere in the source code. I think that if you use filtering with space, it can solve this problem for you as well. What do you think? |
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Apr 14 2015 : 7:39:06 PM
|
Point 2, especially since you seem to be grouping tags, searching for more than one tag at the same time is interesting. I think you are doing something different to two search strings with a space, since the tags can be quite different. I have put a feature request in for this:
case=89099
Point 4, we are picking tags up from comments, free text, so I am not sure how reliably we could group them. Also, wouldn't searching for 2 tags at the same time largely cover this, in a fairly reliable manor? |
zen is the art of being at one with the two'ness |
Edited by - feline on Apr 14 2015 7:47:37 PM |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Apr 14 2015 : 8:56:12 PM
|
2. Regarding space:
quote: Use-case: Using VA Hahstags as a TODO list we mark issues either with a prefix by name or by category. I'm assigned to Category1 and I also have my personal TODOs. Therefore I'd like to see all hashtags containing my name and "Category1" but none of the others.
Given hashtags like #Category1MemoryLeakJohn and #Category1PossibleCrashJohn, "Category1 John" will produce this two, for example, but not #Category1MemoryLeakJack. |
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Apr 14 2015 : 10:54:15 PM
|
accord and I are thinking about this differently. I was thinking you wanted to see, for example, all tags called "TODO" and "Category1" at the same time, as if you had the comment:
// #TODO #Category1
which is interesting, but quite different to long tags. For long tags use space, as accord has explained. |
zen is the art of being at one with the two'ness |
|
|
StefanEgo
Ketchup Master
56 Posts |
Posted - Apr 15 2015 : 02:29:20 AM
|
Thanks for adding the two feature requests.
@2: Sorry for the unclear description. Feline got me right. What I'm actually looking for is an "ored"-search of the words I enter so to get a list of all hashtags containing any of the specified words (in contrast to the current AND-search behavior).
@3: You are absolutely right that in the current state, this feature request wouldn't make much sense. I was merely already thinking of having the "ored"-search behavior (@2) in place, in which case the autocomplete would be benefitial IMO (of course without @2 being added, it's not useful at all as you pointed out).
@4: The point here would also be to have this feature in combination with @2. Having that, we'd set-up the search string just once (think about 1 name plus 4-5 categories) and then navigate through the item (task) list only (without touching the searchstring anymore). The point would be that it would consider only hashtags in the same line as combined/nested. I agree that in general this behavior might not be suitable for everybody, therefore making it optional (with a flag/toggable icon) would be nice.
|
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Apr 15 2015 : 3:10:23 PM
|
I must admit I am in two minds about point 4. I see the appeal, but I am wary of assigning structure to tags, even when they are on the same line. Given you have been working without VA Hashtags, since it is new, have you actually been ordering your tags in priority order? Or are they just grouped somewhat randomly?
I assume you have been running a find in files to locate these markers before now?
Then again, if it was possible to group tags like this, it would reinforce grouping them over time. |
zen is the art of being at one with the two'ness |
|
|
StefanEgo
Ketchup Master
56 Posts |
Posted - Apr 15 2015 : 3:54:30 PM
|
I've always prioritized my TODOs using Low/Med/High/Crit/Block as additional markers. The old style used to be: // TODO @Foo - priority - XXXXX
These were converted to // #FooPriority - XXX
Foo could have been my name or one out of 3 categories.
That's correct, normally I used the find in files (using a regexp) to get a list of remaining TODOs |
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Apr 15 2015 : 9:08:52 PM
|
That makes sense, and this does seem a very logical extension of the Hashtags idea, I have put in a feature request to see what our developers make of this:
case=89130 |
zen is the art of being at one with the two'ness |
|
|
xxluda
Senior Member
29 Posts |
Posted - Apr 20 2015 : 12:55:09 AM
|
Hi,
I have to definitely agree that hashtags looks like very useful feature.
But to be able to use it properly it's definitely necessary to be able to exclude some hashtags like mentioned by original poster.
I would like to extend @1 idea to exclude also some third-party directories. In our projects we're using libxml/libxslt and few more libraries and this is how looks our VA Hashtags view:
As you can see it's filled with a lot hashtags which wasn't intended as hashtags by creators of the libraries.
Thanks for good work! Ludek |
Ludek Vodicka Skipper Chief developer www.skipper18.com |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Apr 20 2015 : 11:07:12 AM
|
We're glad you like this feature Personally, I like the simplicity of VA Hashtags which can be used for various reasons, even for tagging source as its name suggests. (for example, to add a feature, you may need to modify the source code at various places and you may tag those places).
Excluding library files is a good idea, but I have a question about this. If you open the below dialog, do you see your library directories listed as so called stable directories? VA Options -> C/C++ directories
I think maybe we just need to ignore those? (or add an option to do so)
Either way, I have put in a feature request for this:
case=89217
BTW, we will ignore #xHEXA tags in the future, so the list should be less clustered anyway. |
|
|
xxluda
Senior Member
29 Posts |
Posted - Apr 20 2015 : 11:16:36 AM
|
Thanks for reply.
Unfortunately library files aren't listed in the C/C++ Directories
Maybe it's because I'm using Qt and qmake to define my projects (because of multiplatform support).
Library files are includes via "INCLUDEPATH" variable:
these includes are than available in "Additional Include Directories" in C/C++ -> General:
maybe VAssist uses only VC++ Directories path:
Hope it helps ;-) |
Ludek Vodicka Skipper Chief developer www.skipper18.com |
Edited by - xxluda on Apr 20 2015 11:17:16 AM |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - Apr 20 2015 : 4:41:15 PM
|
Thank you for the additional info, I have edited the case. |
|
|
Adequat
Tomato Guru
182 Posts |
Posted - Apr 24 2015 : 1:48:35 PM
|
quote: Ignoring VA Hashtags is sensible idea, I have put in a feature request for that
Yes, this is important. The difficulty will be this one: to have the ignored tag list shared to all programmers in a team.
|
|
|
feline
Whole Tomato Software
United Kingdom
19014 Posts |
Posted - Apr 24 2015 : 4:45:22 PM
|
Ah, yes... obvious now you say it, normally I don't think in terms of needing to sync things between different programmers in VA. The "simple" solution would be to just share all ignored tags. My concern with this is half the team decide they need to ignore ProjectA tags, while the other half of the team decide they need to see those but ignore ProjectB tags.
I have put a note onto the case about this. I am not sure if anyone has considered this yet, so thank you for raising the point. |
zen is the art of being at one with the two'ness |
|
|
cgough
Senior Member
27 Posts |
Posted - May 08 2015 : 12:56:19 PM
|
Perhaps a nice feature would be to define our own hash tag string. My project is already littered with # tags that are essentially meaningless in the scope of the VA Hashtags. Exclusion is an okay idea but I suspect that configuration is per machine meaning for every development environment I'm using I have to go through and disable the existing ones. |
|
|
accord
Whole Tomato Software
United Kingdom
3287 Posts |
Posted - May 08 2015 : 9:31:52 PM
|
We've improved default "heuristic" a lot so most garbage should be filtered out automatically. The improvements will be part of the next build.
Also, VA will save out the configuration file next to the project/solution so you can simply add it to your source control.
We would be happy to hear what you think about the new exclusion system and the improved default filters once we release our new build. If you will still see too much garbage with the next build, we would happy to see examples, we may be able to improve our system further, but mostly it will be enough to exclude a few directories. (e.g. libraries) |
Edited by - accord on May 09 2015 8:51:10 PM |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Jun 11 2015 : 2:41:09 PM
|
case=89097 and case=89217 are implemented in build 2068 |
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jun 24 2015 : 11:44:09 AM
|
A nice feature would be to be able to exclude stable/library header files, since one generally has no control over them.
Also, the macro preprocessor has a stringify feature #string, so it would be nice if hashtags excluded #string in macro definitions from its list |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Jun 24 2015 : 12:01:24 PM
|
In 2068, you can right-click on a tag in the toolwindow and hide tags by name, file, directory and project.
Regarding macros, can you please post an example of what you are seeing? |
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jun 24 2015 : 12:13:24 PM
|
Thank-you. I'll test item 1 after upgrading to 2068
wrt the macro preprocessor, it turns out that the instances showing up in hashtags were pieces of code which were commented out - my mistake
e.g.
/*dbLog(MyFormat(_("Resizing Var "#VarName" based on "#TargetObj)));*/
|
|
|
beylevem
Tomato Guru
102 Posts |
Posted - Jun 24 2015 : 1:32:52 PM
|
The new right-click functionality for filtering works really well |
|
|
sean
Whole Tomato Software
USA
2817 Posts |
Posted - Jun 24 2015 : 1:45:19 PM
|
Glad to hear! |
|
|
StefanEgo
Ketchup Master
56 Posts |
Posted - Jun 25 2015 : 03:48:33 AM
|
Right. Thanks alot for improving that feature. In it's current state it's even more useful than it was already in it's previous state. My compliments to the people involved in having realized that feature. |
|
|
|
Topic |
|