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
 Highlighting #ifdef ?
 New Topic  Topic Locked
 Printer Friendly
Author Previous Topic Topic Next Topic  

eluka
New Member

4 Posts

Posted - Mar 24 2004 :  8:25:47 PM  Show Profile
Hello!
First of all thank you guys for this great tool :)
Secondly I think that it would be great if there will be a way
to highlight such construction:
#ifdef SOMESYMBOL
..code..        //if defined SOMESYMBOL - normal highlighting
#else
...some other code //if not defined SOMESYMBOL - some other highlighting (gray for example)
#endif

or
#ifndef SOMESYMBOL
..code..        //if not defined SOMESYMBOL - normal highlighting
#else
...some other code //if defined SOMESYMBOL - some other highlighting (gray for example)
#endif


What I mean is that it would be great if VA could highlight code that I'm currently not using.

With the best wishes,
Eugene

Stephen
Tomato Guru

United Kingdom
781 Posts

Posted - Mar 24 2004 :  9:05:45 PM  Show Profile
VA can't know which symbols are defined or not defined. Probably it's different for different builds, and you need to be able to edit both branches, so it's right to colour all the code for you.

Stephen Turner
ClickTracks http://www.clicktracks.com/
Winner: ClickZ's Best Web Analytics Tool 2003 & 2004
Go to Top of Page

Old as dirt
Tomato Guru

USA
246 Posts

Posted - Mar 25 2004 :  10:32:55 AM  Show Profile
For what will be built if you just press the build button, why can't VA know what symbols are defined?

Ken
Go to Top of Page

Stephen
Tomato Guru

United Kingdom
781 Posts

Posted - Mar 25 2004 :  10:54:52 AM  Show Profile
Maybe I was wrong to say it "couldn't" know. I guess it might be able to, if it can look up all the compilation and header file settings — I don't know how hard that would be. But anyway, I'm not sure I'd want it depending on that. For example, if I have code like
#ifdef _DEBUG
...some sanity checking...
...some debugging output...
#endif
I wouldn't want that code being greyed out just because I happened to have selected Release build in the drop-down.

Stephen Turner
ClickTracks http://www.clicktracks.com/
Winner: ClickZ's Best Web Analytics Tool 2003 & 2004
Go to Top of Page

cskilbeck
New Member

4 Posts

Posted - Jun 25 2004 :  3:43:02 PM  Show Profile
I would like to add my voice to this request - I would be happy to manually migrate project defines for VA, or, preferably, have VA get them from the currently active target.

We have a large, foreign codebase where #ifdef has been abused, and refactoring/navigating the code is tricky.
Go to Top of Page

PatLuja
Tomato Guru

Belgium
416 Posts

Posted - Jun 28 2004 :  02:59:43 AM  Show Profile
Hello all,

I think VA X can know the some defines defined in the code, but I don't think it knows the compilation defines.

Another point that might be a hassle is that VA X should interpret the condition (without "compiling" the code). If you have some code like:
#ifdef SOMEDEFINE
and somewhere else (in some other files in your project) you have:
#define SOMEDEFINE 0
and somewhere else:
#define SOMEDEFINE 1
and yet somewhere else:
#undefine SOMEDEFINE
and somewhere:
#define SOMEDEFINE SOMEOTHERDEFINE
where SOMEOTHERDEFINE is defined in yet another file.
And after all of these four examples, the file with the #ifdef is included...
How should VA X possibly know if the code must be grayed out or not? (Maybe a standard could be that this should be treated as not grayed out.)

I think this is getting complex easily. And I guess that implementing this complex feature would introduce a few bugs into VA X; saying this without blemishing the known ability of the WholeTomato programmers. (If it was implemented, on the other hand, it would also open opportunities for several other features.)

Maybe support can bring some light into this?

With kind regards,
Patrick Luja
Go to Top of Page

Baga
Tomato Guru

122 Posts

Posted - Jun 28 2004 :  1:52:29 PM  Show Profile
I think VA can only do that much without actually compiling the code, and conditional coloring based on defined symbols is clearly out of it's domain.

What i think IS possible - make some 'hints' for VA's parser in comments, but even that is probably too complicated...
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19014 Posts

Posted - Jun 28 2004 :  6:19:48 PM  Show Profile
depending on what you want / need, 2253 may be of some use.

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

support
Whole Tomato Software

5566 Posts

Posted - Jun 28 2004 :  9:07:46 PM  Show Profile
patluja is correct.

We have attempted to implement this feature several times. It gets ridiculously confusing quickly.

Whole Tomato Software, Inc.
Go to Top of Page

stephenk
New Member

8 Posts

Posted - Jul 01 2004 :  06:34:33 AM  Show Profile

I agree that trying to figure out definitions is practically impossible.

However, even handling just the special case of
#if <constant integer>
#elif <constant integer>
#endif
would be very useful. Its a pain to put c comments around large blocks of code.

btw has everybody seen the c comment trick?
/* <- insert leading / to toggle between foo and bar.
foo;
/*/
bar;
//*/
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Topic Locked
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000