dman wrote: > On Fri, Feb 01, 2002 at 09:09:34AM +1000, john wrote: > | dman wrote: > | > | > On Thu, Jan 31, 2002 at 01:35:38AM -0500, Scott Henson wrote: > | > | Im setting up a machine for a friend and he needs an IDE for developing > | > | C and C++. Anyone have a recomendation on a good one he could use. > | > > | > I recommend Debian for the IDE!! > | > > | > What do I mean by that? Well, here is a major difference between MS > | > Windows and UNIX (others have contributed to this conclusion as well) : > | > | <snip> > | > | > The moral of the story : learn to use UNIX to its full extent and > | > you'll need nothing else. As a bonus, all those utilities are useful > | > even when you're not coding! > | > | Actually, as much as it shames me to admit it, there is one feature > | in the VC6 M$ bloat thing IDE I really want to see on a Unix > | platform, and that's the incredibly powerful way it can back > | reference callers, classes etc. Perhaps it's me, but I just can't > | get ctags etc to work the same way, and my LISP is too weak to make > | emacs do it. > > Is this what you're looking for? > > You have some file open in a buffer and it contains the following > snippet of C code : > > local_var = my_function( an_argument ) ; > > You want to see what 'my_function' looks like. > > If so, ctags is your man. > > Here's how I use it : > > Sit in "$my_proj_dir" and run > ctags --recurse=yes --extra=+q --excmd=pattern src > (well, the options are really in ~/.ctags) > Now you have a file named "tags" that contains the tags. > > Start up gvim or vim *with $my_proj_dir as $PWD*. If you want to go > to a tag > :tag <name> > (with tab-completion) > > If you have the above senario, press ^] to jump to the tag matching > the text under the cursor. Press ^T to jump back to the previous tag > on the tag stack (ie after you've press ^] a few times). > > The key issues I ran into are > > 1) the tags file contains paths relative to the directory ctags > was run from > > 2) your editor must be able to find the tags file > > You can have multiple tags files, one for each subdirectory or > whatever, but that seems to me like it would be harder to manage. Get > used to the commands so that you can just use tags or :e to open files > and keep the current directory always at the top of your project > directory. (if you google a bit you'll surely come across an article > I read a while back explaining techniques for managing tags in a > project) > > -D
Hi all, What VC6 does (and I stress this is the ONLY thing I like about it!!). I right click on a function call in the source code, and I get a pop-up list of all objects and methods that call it. This list is in a treeview, so I can see full dependency information. If the method I chose is overloaded, or the class in question has multiple inhertance it may add a list to allow me to refine the search before I get the dependency tree. Not only that, but I can then open a file up the 'stack hierarchy' at exactly the line where the method (or it's referrer) is called. Now, to be even more cool, if I do exactly the same thing in the 'Object Browser' window I can navigate in the other direction. (ie who this method calls, who they call etc etc all in a treeview.) This is incredibly useful when re-factoring legacy code, or when checking that a new name/method doesnt hide another name we need. ctags doesnt cut it, it's not good enough for C++ as far as I can tell - it doesnt understand the C++ language, although it is great for C. And having had a look at Eclipse I cant be bothered at this point to work out how to make the damn thing run properly. I suspect it wants an entire JDK installation under it's own directory!! If you know a way to get Ctags or some other tagging system to play nice please let me know. Even better if it integrates with Emacs. John P Foster Senoir Research Scientist Golden Orb Pty Ltd http://www.golden-orb.com