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
 Visual Assist and git checkout
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

dima
New Member

Israel
4 Posts

Posted - Feb 15 2018 :  11:23:19 AM  Show Profile  Reply with Quote
I often checkout different branches of the same code while VS is still running.

Is there any recommended work flow / configuration to make sure VA is quick to notice and rescan changes, to make sure goto works as expected despite hundreds of files switching from under it?

feline
Whole Tomato Software

United Kingdom
19024 Posts

Posted - Feb 15 2018 :  11:48:01 AM  Show Profile  Reply with Quote
First of all, make sure you have:

VA Options -> Performance -> Watch for externally modified files and reparse when necessary

turned On, since this is going to help.

Are you seeing problems when you do these switches with git?

If so, another thought is to check out two different branches that you are interested in at the same time, next to each other, and then open the two branches in separate copies of the IDE. Since VA stores its symbol database on a per IDE instance basis, this will make sure you have two symbol scans and databases, that don't have to keep on being updated.

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

dima
New Member

Israel
4 Posts

Posted - Feb 20 2018 :  06:27:12 AM  Show Profile  Reply with Quote
I have watch for externally modified files enabled.

It mostly works fine. Rarely I would have out of date results for "Find Symbol", as line numbers change and functions appear/reappear, but it's not that bad that I would have an issue with it.

In any case it was just a question about best practices, not a complaint per se :)

I was indeed curious about how VA stores the symbol database. I thought maybe I could store it in the project folder so it gets switched between different branches. I gather that this is not an option.

I thought about having two local checkouts, but this would fragment my local-copy branches (which I do not push to remote), and I'll have to add the separate local copies as remotes to sync between them without going through the server repo.


Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19024 Posts

Posted - Feb 20 2018 :  08:21:13 AM  Show Profile  Reply with Quote
Here, simply loading the out of date / modified code file will fix things, since VA will re-parse the file when it is loaded.

If you really want to, you can tell VA where to store its symbol database, as explained here:

https://wholetomato.fogbugz.com/f/page?W332

but you need to be a careful storing the database inside the source code tree. The database path is read / set when you first load the IDE, so if you swap branches without closing the IDE, then your database path will be "wrong". Also if you use environment variables in the path, you need to make sure that the value of the variable has been updated before launching a new instance of the IDE, and that this instance will see the update.

Not something I would recommend unless you really need to, but it can be done with a bit of care. I would organise launching the IDE via a script file personally, if doing this, to make sure that everything is set correctly for the IDE instance you are loading.

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