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
 Technical Support
 Restrict scope
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Adequat
Tomato Guru

182 Posts

Posted - Aug 01 2017 :  02:55:17 AM  Show Profile  Reply with Quote
Given a large solution with many projects, I would like VA to restrict its scope (Find symbol, Find file) to a predefined set of projects.
I mean, I *always* want to ignore certain projects.

Is this possible?

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Aug 01 2017 :  06:06:43 AM  Show Profile  Reply with Quote
VA is not designed to work this way, VA is designed to parse all files in the solution, so that we know about all of the symbols you are working with.

However there are a few things we can consider.

The first, and simple option, is to turn on the setting:

VA Options -> Projects and Files -> Restrict Goto (Alt+G) to active project

and in Find References Results to use the context menu and turn Off "Search all projects". This will tell VA to focus only on the current project.

Since you want some projects to always be ignored, is this because they are effectively static libraries, that you are using, but never editing? If so, have you considered removing these from the solution, and linking against them instead? Then, if you need VA to know about the symbols, they can be added to the stable include directories list, so that VA will parse them, but won't consider them to be part of your solution.

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

Adequat
Tomato Guru

182 Posts

Posted - Aug 01 2017 :  1:30:01 PM  Show Profile  Reply with Quote
quote:
Since you want some projects to always be ignored, is this because they are effectively static libraries, that you are using, but never editing?


Yes this is the case. Third party libraries. But I can't remove them from the solution as you suggest. Especially, many are pure template libraries.

I understand VA needs to parse everything. And yes, "Goto" the third libraries is useful.
But when I need to search a symbol or file, which is quite common, I don't want to be "polluted" by tons of symbols I don't deal with. I am loosing a bit of time here.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Aug 01 2017 :  2:41:47 PM  Show Profile  Reply with Quote
Maybe I am missing something obvious here, but in my experience pure template code is just .h files, since all of the code needs to be #included for the templates to be generated at compile time. As a result, they don't need to be part of the solution, so long as the are in the solution include directories, so the header files can be picked up correctly.

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

Adequat
Tomato Guru

182 Posts

Posted - Aug 02 2017 :  01:32:02 AM  Show Profile  Reply with Quote
Your remark about templates is right. I simplified my case, as the reality is more "library with 95% templates and still 5% standard, gathered to a static library".
Anyhow, the .sln file is "imposed" to me. I can't remove projects as I wish.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Aug 02 2017 :  06:57:29 AM  Show Profile  Reply with Quote
That makes sense, I just wanted to check, since it sounded like there was an easy solution here.

What, exactly, do you want to happen with these excluded projects? Variations of this request have come up before, so I just want to be clear.

Firstly, can these projects be defined on a directory by directory level, or are they mixed in with files you don't want to ignore?

Is just excluding these projects from the Open File and Find Symbol dialogs enough? Or do they need excluding from other things as well? I assume you still want the symbols to appear in listboxes, Find References, Alt-g, etc.

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

Adequat
Tomato Guru

182 Posts

Posted - Aug 04 2017 :  07:40:00 AM  Show Profile  Reply with Quote
quote:
Firstly, can these projects be defined on a directory by directory level, or are they mixed in with files you don't want to ignore?


Each project is mapped to a different Directory. This is a pretty standard organization I guess.

quote:
Is just excluding these projects from the Open File and Find Symbol dialogs enough?

Not only enough, but that's exactly what I wish. Not more.
eg. I still wish to be able to "Goto" anywhere from my code to the third party code.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Aug 04 2017 :  2:33:54 PM  Show Profile  Reply with Quote
This is something we are looking to do, and to add to VA, and are hoping to do it sooner rather than later:

case=27623

I had to check the details though, since some people are looking for a more complex set of rules for excluding files.

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

BenD
Starting Member

Canada
1 Posts

Posted - Aug 17 2017 :  11:02:34 AM  Show Profile  Reply with Quote
hey, so what exactly would be the impact of just not parsing specified projects in a solution?

we are working with huge solutions (250+projects), but only iterate on perhaps 5 projects, (with 30ish dependent projects). we really arent interested in anything else.

reparsing takes 20mins+ and is the absolute limiting factor in our programmer workflows, anything we can do to reduce this parsing time would be huge.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18749 Posts

Posted - Aug 17 2017 :  4:09:03 PM  Show Profile  Reply with Quote
The main and immediate problem is that VA won't know about any symbols from other projects, so you won't be able to get VA's help with those symbols / classes. But if most of the projects are not being actively worked on, then this would not be a problem.

In this situation, have you tried turning Off:

VA Options -> Performance -> Parse all files when opening a project

and also turning On:

VA Options -> Projects and Files -> Upon opening a file, parse all other unparsed files in the same directory:
if Solution is not empty

if the code files for the projects you are actively working on are mostly stored in the same directories, then this should both stop VA parsing nearly all of your solution, and also tell VA to parse any files next to the files you are actually working on.

Another option is to disable the IDE's intellisense parser as well. This may cause more problems than it is worth, having both VA and the IDE unaware of the vast bulk of your code base, but if VA's intellisense is sufficient, based on the files you are working on, and the files in the same directories, then this should help quite a bit.

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