Author |
Topic |
|
dima
New Member
Israel
4 Posts |
Posted - Feb 15 2018 : 11:23:19 AM
|
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
|
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 |
|
|
dima
New Member
Israel
4 Posts |
Posted - Feb 20 2018 : 06:27:12 AM
|
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.
|
|
|
feline
Whole Tomato Software
United Kingdom
19024 Posts |
Posted - Feb 20 2018 : 08:21:13 AM
|
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 |
|
|
|
Topic |
|
|
|