Author |
Topic  |
|
kornman00
Senior Member
  
USA
30 Posts |
Posted - Apr 06 2020 : 09:52:26 AM
|
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
19137 Posts |
Posted - Apr 07 2020 : 09:18:50 AM
|
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 |
 |
|
sean
Whole Tomato Software
    
USA
2817 Posts |
Posted - Apr 07 2020 : 1:13:29 PM
|
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. |
 |
|
kornman00
Senior Member
  
USA
30 Posts |
Posted - Apr 08 2020 : 12:53:38 PM
|
@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 :) |
 |
|
feline
Whole Tomato Software
    
United Kingdom
19137 Posts |
Posted - Apr 09 2020 : 05:19:38 AM
|
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 |
 |
|
kornman00
Senior Member
  
USA
30 Posts |
Posted - Apr 11 2020 : 4:35:50 PM
|
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. |
 |
|
feline
Whole Tomato Software
    
United Kingdom
19137 Posts |
Posted - Apr 14 2020 : 09:01:27 AM
|
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 |
 |
|
kornman00
Senior Member
  
USA
30 Posts |
Posted - Apr 16 2020 : 4:58:45 PM
|
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 :) |
 |
|
feline
Whole Tomato Software
    
United Kingdom
19137 Posts |
|
|
Topic  |
|