• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
What should CodeSense do?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

What should CodeSense do?


  • Subject: What should CodeSense do?
  • From: Andy Wiese <email@hidden>
  • Date: Tue, 7 Dec 2004 01:10:42 -0600

I don't think CodeSense is working correctly. The behavior I'm getting doesn't seem terribly useful, but I don't know if I'm expecting more than it is designed to do. I have Enable Indexing, Enable Code Completion, checked in both Xcode prefs and the project.

I have tried cleaning all targets, reindexing, throwing out the build directory, .mode1 cache, and .pbxuser cache, and various combinations of above.

I have wondered if maybe c++ is the problem. If CodeSense is just not supposed to handle c++, that could be explanation enough. I DO use templates and inline functions. I also use boost, but I don't have the boost headers included in the project, just referenced by an include path.

My project is not huge. It builds one framework (linking only Carbon), and one simple test application. The source files are all inside the project directory (no uppy paths). It is also fairly young, since I just rebuilt it to solve a linker problem mentioned above--so I haven't done stuff like yank files in and out of the project. In all, it should be a fairly friendly project.

I haven't found a specific description of what CodeSense is supposed to do, so I don't know for sure what it is doing wrong. But I think the following behavior can't be right:

1) I very seldom see argument lists for functions. I have the "name and arguments" radio buttons checked in the project prefs and in the project.

2) I don't find many functions that I expect to find, especially if they are member functions.

3) #pragma mark 's appear in the list. That seems odd.

4) Class names appear in the list, though not all of them. Some class names have a purple C by them, and some have a Green G.

5) I assume the red # icon indicates a constant, yet some things with a red # by them are clearly not constants...like non const member variables.

6) context sensitivity is out of whack. I wasn't sure if it was even supposed to be context sensitive, but I guess it is because any ptr or reference e.g. aPtr-> will yield "no completions found" but in other contexts I get the same big list of mixed up stuff.

7) I assume Find Definitions and Code Sense are related. Find Definitions _never_ finds anything in a header file. Only matches that might be vaguely definition-like in the source files.

8) I also assume that the Class Browser is related. It is just useless. It shows a fraction of the classes (even leaving out class templates).

So...I'm not just looking for sympathy or griping. I would love to be able to use CodeSense, Find Definitions, or the Class Browser. If I can't, so be it.

For those who prefer specific questions:

Are other developers using CodeSense, Find Defs, Class Browser successfully with c++ (including templates and inlines)?

Is there anything else I should try to do to fix Code Sense in my project?

Is there anything I have done while building this project to break CodeSense...like if I rebuilt the project from scratch a FOURTH time, could I make it work?


Sorry to be so longwinded...

andy

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: What should CodeSense do?
      • From: Kieran Kelleher <email@hidden>
  • Prev by Date: Re: Code Completion of a third-part library
  • Next by Date: Database connection help.....
  • Previous by thread: A tree of libraries project
  • Next by thread: Re: What should CodeSense do?
  • Index(es):
    • Date
    • Thread