T O P I C R E V I E W |
zworg |
Posted - Mar 09 2006 : 08:37:50 AM Hi! Is it possible to configure VAX so that a different set of global C/C++ directories is loaded for each workspace?
I mean the set of files that you specify in VAX Options / Projects/ C/C++ Directoies in the 'stable', 'other' and 'source' lists.
For example, I work on multiple projects where - project A: uses MFC only - project B: MFC + a third-party toolkit - project C: Win32-only - project D: Win32 + DDK
Currently I have the following 'stable' list in VAX Options: <path>\\Microsoft SDK\\Include <path>\\VC6\\MFC\\Include <path>\\Toolkit\\Include <path>\\NTDDK\\inc
And it has a problem that when I work with project D VAX 'sees' not only Win32 and DDK symbols but also MFC and toolkit's symbols (i.e. VAX highlights those symbols, suggests them in auto-complete, etc.) And I really like to avoid that.
Thus, using my example I would like to tell VAX to use the following lists... - for project A: <path>\\Microsoft SDK\\Include <path>\\VC6\\MFC\\Include
- project B: MFC + a third-party toolkit <path>\\Microsoft SDK\\Include <path>\\VC6\\MFC\\Include <path>\\Toolkit\\Include
- project C: Win32-only <path>\\Microsoft SDK\\Include
- project D: Win32 + DDK <path>\\NTDKK\\inc <path>\\Microsoft SDK\\Include
+ some default list which is used for any project besides those I configure individually
Is there any way to achieve this?
(I'm using VC++ 6 if that matters)
|
4 L A T E S T R E P L I E S (Newest First) |
zworg |
Posted - Mar 10 2006 : 1:26:04 PM feline, I'm using VC6 IDE
I have followed the instructions of the "second option" and everything appears to work great. IDE loads and operates noticeably faster now. And no more suggestions from VA to insert CString in a device driver project ;-)
Thanks a lot for your help! |
feline |
Posted - Mar 09 2006 : 6:01:27 PM VA does support environment variables, but you may have to reboot your workstation to get the IDE to detect them when you first add them or change them. i have had problems getting windows to pickup environment variables without a reboot, and if windows is not picking them up properly then neither will VA.
VA should only reparse the stable include files, or additional directories when you change settings, and not every time you load the IDE.
which IDE are you using? people are asking about property pages in VS2005, so we need to at least think about these. |
zworg |
Posted - Mar 09 2006 : 5:38:50 PM Thanks for the detailed answer. I will try the second option though I foresee the following problems.
- It's usually a bad idea to add anything unrelated to a project to its source files (and .dsp is obviously a source file). Thismakes project management harder.
- I'm not the only developer working on those projects. This means that... = Other developer may not like me adding absolute paths to the project settings. And I would agree with them; project settings is not the right place for absolute paths. = And even if they don't mind, their PCs may have different directory paths (e.g. E:\\NTDDK vs C:\\WinDDK)
Question: Does VAX support environment variables in directory paths? That is, will it understand %DDKROOT%?
- How fast will the modified workspaces load? I suspect they will open very slow because VAX will reparse all those big MFC/toolkit headers every time.
Do you have any plans to enhance VA and add support for per-workspace (or per-project) options? Just like the IDE does where you have global options (affecting all projects) but are allowed to change some of them on a per-project basis. |
support |
Posted - Mar 09 2006 : 11:51:33 AM VA X has directories applicable to "all projects of every workspace," and per-project directories. The former is generated from system include directories in IDE settings (which also apply to all workspaces;) the latter come from project settings.
One option is to remove everything from the system include directories in the IDE, then set all directories in project settings only. You can avoid "custom" directories in the VA X options dialog.
A better option might be to leave alone the system include directories in the IDE, then switch platform to "custom" in our options dialog. Specify only the "Microsoft SDK\\include" directory in our list of stable include directories since the directory is used by all of your projects (at least in the list you presented.) Next, add the project-specific directories to Project|Settings in the IDE. VA X will search these per project, and it won't know about the other symbols.
The basic approach is the same irrespective of your IDE. The only difference is in how you configure IDE settings. For vc6, system directories applicable to all workspaces and projects are configured in Tools|Options|Directories (which you needn't adjust with our second option.) Directories per project are configured in Project|Settings.
If you use the VA X option to put "stable symbols in italics" with the second option, only the symbols from "Microsoft SDK\\include" appear italicized. |
|
|