Author Topic: Problems with tagging C++ source  (Read 21225 times)

allank

  • Community Member
  • Posts: 11
  • Hero Points: 0
Re: Problems with tagging C++ source
« Reply #15 on: September 23, 2006, 09:46:19 PM »
I know there are multiple solutions to the problem, such as the ones you've mentioned. I guess I'm just venting. The information is there in the fully qualified name. It seems strange to me that an elegant piece of work like SE can't do what MS VS can do easily.

Clark

  • SlickEdit Team Member
  • Senior Community Member
  • *
  • Posts: 6866
  • Hero Points: 528
Re: Problems with tagging C++ source
« Reply #16 on: September 25, 2006, 04:17:24 PM »
(alank) The umbrella workspace solution isn't great when you are using Visual Studio because then you must manually maintain your own workspace.  This is very inconvenient when working on a large multi-person project.  A better solution is to add workspace specific "Auto-Update Tag Files" (a feature I'm not sure anyone has found).

Let's say you have A.sln which needs stuff built from B.sln and C.sln.  Open each of the workspaces in SlickEdit.  This will create the tag file.  Now open solution A.sln in SlickEdit.  Then go to Tool>"Tag Files...", click on "Add Tag File...".  Click on "Auto-Update Tag Files".  Now select the B.vtg tag file which will be located in the same directory as B.sln.  Repeat these previous two steps to add C.vtg.  Now when you open solution A.sln in SlickEdit, you'll see symbols from B.sln and C.sln. When files are added to B.sln or C.sln, you'll need to open either B.sln or C.sln in SlickEdit for the tag file to be updated :-(.  This is not perfect but it's a lot better than adding files twice or maintaining a separate SlickEdit workspace and project files.

Currently, symbols from workspace specific tag files ARE NOT updated when you edit files in those tag files.  For example, lets say you edit B.cpp contained in B.sln when the solution A.sln is open in SlickEdit.  The symbols for B.cpp will not be updated in B.vtg until you open B.sln in SlickEdit.  This seemly odd limitation is intentional and took more work.  The workspace specific "Auto-Update Tag Files" feature was actually designed to solve a very different problem.  It assumes that another process is updating the tag file because it is supposedly HUGE (maybe 100 megabytes).  It would be nice if this feature tweaked to handle simple workspace specific tag files and the current external auto-updating feature. Or even better for Visual Studio users...workspace specific solution files.

hs2

  • Senior Community Member
  • Posts: 2761
  • Hero Points: 292
Re: Problems with tagging C++ source
« Reply #17 on: September 25, 2006, 04:52:23 PM »
It should be possible to manually update the (auto-updated) tag file in the 'Tag File' dialog.
The issue remains that it still requires manual interaction, but you don't need to switch workspaces.

Thanks Clark for the hint that the Auto-update tag file is WORKSPACE specific !
I wasn't aware of it.
This solves my old problem of having diff. (cross-)cross-compiler tagfiles per workspace.
BTW: 'cross-cross' means that I use a cross-compiler hosted by a cygwin environment.
Slick detects the host cygwin compiler properly but has obviously no idea about the hosted one.
I used to create global C-tag files for them, but they were present in all workspaces leading to conflicts.
So I had to 'manually' add/remove the proper tagfile...

HS2