Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 VA Hashtags supporting additional prefix character
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

kornman00
Senior Member

USA
30 Posts

Posted - Apr 06 2020 :  09:52:26 AM  Show Profile  Reply with Quote
Would it be possible to add an alternate character for VA Hashtags support?

I work within a legacy game codebase which used the pattern $TODO, $FIXME, etc for tagging (and by convention, we continue to use this as well).

It would be great if this worked 'in-addition-to' the # character. So I wouldn't have to adjust my settings when swapping projects (unless VAX supports per-project .editorconfig style settings?).

On a related subject, it may be useful to use VA's symbol knowledge to provide an option to inhibit known #define results. Eg, in *some* of the javadoc-style comments in the Opus code, they include the # prefix: https://github.com/xiph/opus/blob/master/include/opus_defines.h#L383

Thanks!

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Apr 07 2020 :  09:18:50 AM  Show Profile  Reply with Quote
I have put in a feature request to see what our developers make of the idea of starting a hashtag with a different character:

case=142095

For the #define results, I don't understand what you are asking for here. The line you have linked to is inside of a "standard" comment block, so VA should not be picking this up as a #define. Or do you mean that these #define's are showing up in your VA Hashtags list, confusing it?

zen is the art of being at one with the two'ness
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Apr 07 2020 :  1:13:29 PM  Show Profile  Reply with Quote
For a situation like Opus, you can right-click on the tag in the VA Hashtags toolwindow and hide all tags in the same directory. If 3rd-party projects are included in your solution, you can also hide all tags for the project.
Go to Top of Page

kornman00
Senior Member

USA
30 Posts

Posted - Apr 08 2020 :  12:53:38 PM  Show Profile  Reply with Quote
@feline, thanks! Opus' uses "#OPUS_BANDWIDTH_NARROWBAND" on that line but in other places then use "OPUS_BANDWIDTH_NARROWBAND" (sans '#'). I didn't mean that VAX was picking it up as a define, but rather VAX *could* use its knowledge of #define'd symbols to optionally not include in the hashtag results.

I'll defer to sean's suggestions for now, as it seems good enough for the cases I'm encountering :)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Apr 09 2020 :  05:19:38 AM  Show Profile  Reply with Quote
Assuming that you don't want tag names and macro names to overlap is likely to cause problems, since I can virtually guarantee we have users who rely on them overlapping

Excluding hashtags by project sounds like it should solve the issue you have here.

For $ instead of #, I assume you realise that you could run a search and replace across the old code base, to change the tags from $ to #, but I do appreciate this is going to be a lot of code changes in one go, and it might throw up false positives.

zen is the art of being at one with the two'ness
Go to Top of Page

kornman00
Senior Member

USA
30 Posts

Posted - Apr 11 2020 :  4:35:50 PM  Show Profile  Reply with Quote
Yeah, I could run a find+replace, but for the sake of source history (P4 and time-lapse view) I don't tend to change legacy code unless it's for a bugfix/feature. Plus, I would have to track down all the uses of $, because it was used for feature specific things instead of just generalized $TODO/etc. Eg, say there was a refactor of damage code at one point, you could expect to see instances of $NEW_DAMAGE or whatnot.

The codebase is huge, too. There's multiple games which are evolutionary versions of the same engine over time. So, this feature request doesn't just relate to addressing a pain point for a single 'game' :).

Per-project exclusion sounds like a solution. If it could also allow for a per-project prefix character setting, that would be icing on the cake too for $. I won't pretend to know how this complicates matters under the hood for VAX though.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Apr 14 2020 :  09:01:27 AM  Show Profile  Reply with Quote
Search and replace always sounded a little unlikely, but this shows just how unlikely it is to help for now. Thought I should ask just in case.

When you mention project specific hiding, are you talking about hiding different tags in different projects inside the same solution? So $TODO would be shown in some files but not in other files in the same IDE session?

Or are you talking about separate solutions, so different tags are showing / hiding when you close one solution and load a different solution?

Project and Solution are sometimes used interchangeably, but here it matters, since VA already has per-solution hiding of Hashtags available.

zen is the art of being at one with the two'ness
Go to Top of Page

kornman00
Senior Member

USA
30 Posts

Posted - Apr 16 2020 :  4:58:45 PM  Show Profile  Reply with Quote
Ah, sorry for the confusion. I was talking about hiding at the Solution level. Should have said "Per-Solution exclusion sounds like a solution", as like you mention it is already an option here :)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18724 Posts

Posted - Apr 17 2020 :  07:21:53 AM  Show Profile  Reply with Quote
In case you don't already know the details of hiding at a solution level, it is explained here:

https://docs.wholetomato.com/default.asp?W574#global

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000