Are you saying you don't get code-completion suggestions for closing brackets ( ] ) or automatically inserted closing braces ( } ), if you have those options enabled? If not, you should be filing bug reports with Apple.
I find the auto-completion also works fine with things like:Code:@"string[COLOR="Gray"]"[/COLOR] 'x[COLOR="Gray"]'[/COLOR] (x + y[COLOR="Gray"])[/COLOR]
Here's an example of where it craps itself:
Code:
outputString appendFormat:@"%@", object<cursor>
Have your cursor at the spot indicated in the line and press the ']' key. Where does your open brace go?
Code:
outputString appendFormat:@"%@", [object]
Yay! Invalid code helpfully generated by Xcode automatically inserting a retarded brace when it could have easily become valid code by putting the brace all the way at the start of the line. For extra fun, you can press ']' any number of times and it'll add open braces in that terribly unhelpful spot each and every time.
You're right, sometimes Xcode actually has helpful automatic inserts. In fact, it may be that Xcode is correct 90% of the time and I just don't appreciate it because of the fact that every time it's wrong, I have to go back and fix it, thus breaking whatever roll I was on and killing productivity. I can't say I ever have this kind of problem in any other IDE. Granted, it may just be on account of how lousy Obj-C's syntax is. Maybe I'm unjustly calling Xcode a crappy IDE when really it's just that Obj-C's syntax makes auto competition rather difficult. After all, maybe I wanted to call one of object's methods (and a method on that, and a method on that, and a method on that…). In most any other language, that would be indicated with a dot at the end and I wouldn't need anything placed at the front of the object's name. In non-O-O languages like Lisp… IDK, something about the fact the function name comes first just keeps me from having this kind of problem.