12 ms·
> many people already use other IDEs to write the code and just use XCode to compile stuff I've never met anyone who actually does this. JetBrains is even disc
by marcellus23 4y ago
> many people already use other IDEs to write the code and just use XCode to compile stuff
I've never met anyone who actually does this. JetBrains is even discontinuing AppCode, which as far as I know was the only real alternative IDE (and it had a lot of holes in its functionality).
Xcode lacks decent refactoring tools but otherwise it's a perfectly fine IDE, and has some really powerful debugging abilities. Don't get me wrong, I don't think Apple is giving it the attention it deserves, but in my experience most people hate it just because it isn't IntelliJ or VSCode.
- dagmx 4y agoWell I do it. Or did till App Code was killed. I still do some Swift in CLion. Here’s my reasons: - Xcode has many failure cases for refactoring or is slow at finding symbols across extensions. Jetbrains handled it effortlessly. God forbid something crosses a target boundary. - Xcode is really terrible for multi language projects. If you’re sticking to ObjC and Swift, it’s fine, but the C++ support is really poor. If you need to throw in Python or anything else, good luck. Jetbrains handle multi language super well. - extensibility is a big deal. Xcode isn’t extensible (well only in a very limited way) and there’s many plug-ins that I either use or create for myself to speed up my work. If Xcode supported LSPs, it would honestly change the equation greatly. But today myself, and several other devs I know, edit outside Xcode and build via the command line tools instead.
- marcellus23 4y agoFair enough. My point wasn't that literally no one does it, but more that it's pretty uncommon. You can't get live errors/warnings in Swift or ObjC outside of Xcode, right?
- dagmx 4y agoyou can since those are a property of clang itself not Xcode. Xcode does some analysis on top of clang but you can use clangd in an LSP. What you leave behind though are any of the interactive bits like live previews, storyboards, all the core data utilities.
- pjmlp 4y agoTo be fair Objective-C and Swift are really the languages Apple wants everyone to use. C++ official support in OS frameworks relates to IO and Driver Kit, LLVM and Metal Shading Language. Whatever works for Objective-C also works for C.
- thewebcount 4y agoI’m curious what refactoring tools are missing? I don’t use many other IDEs so would be interested to hear about them. I’ve used Xcode’s existing refactoring tools quite a bit, but haven’t felt I was missing anything, probably because I don’t really know what else is available. (They were terrible for many years, supporting only Objective-C, but they now support C, C++ and Swift as well.)
- marcellus23 4y agoMy experience is limited to using it with Swift and Objective-C. Xcode has been getting better recently but tools like IntelliJ have support for a bunch of useful things that Xcode doesn't. Off the top of my head: * refactoring functions/methods: adding and removing parameters, renaming parameters, etc. * safe-deleting symbols * advanced search tools. Not just "find selected symbol in workspace", but "find places where this variable is being written to" Also, the refactoring tools that Xcode does include are very unreliable. Even simple renaming will often fail, even on small projects, or will mistakenly rename unrelated symbols.
- alexdbird 4y agoOh, AppCode absolutely kicked ass in 2013-2014 when Obj-C had been somewhat modernised but wasn’t changing too fast, and Swift was yet to be announced. Xcode was an even worse editor back then too. It was always a struggle for JetBrains to keep up with Apple dropping new stuff with no notice though, and I can’t remember when I last tried AppCode
- turdprincess 4y agoMy issue with Xcode isn't a lack of features, its the fact that the features don't reliably work. And not the advanced stuff, the very basic features. I routinely have issues with stuff like clicking through classes or syntax highlighting. Another thing thats highly annoying is that compile errors don't get properly cleared on builds, so if there are multiple errors, it might just be that one of them is a real error, but the others are stale. Lately I've been working with Swift Packages, and now restarting Xcode many times a day is part of my workflow - otherwise compile errors persist. Ive been in iOS for a decade now, so mostly I don't get hung up one these issues, I know how to clean the "derived data" folder, I know how to jiggle it "just so" to get it to do what I want. But still its frustrating that the most important tool in my job is doomed to be moderately broken forever. It might be a "grass is greener" scenario, but whenever I hop to IntelliJ, I don't encounter any of these kinds of problems. Oh, and BTW, if you want to check Xcode out for yourself and have trouble downloading it, its not you - Xcode is like 20GB big. I guess you need lots of space for the world's most broken syntax highlighting algorithm...
- solarkraft 4y ago> compile errors don't get properly cleared on builds, so if there are multiple errors, it might just be that one of them is a real error, but the others are stale. Oh wow, I opened it about once to compile something, had this issue and had to clear a bunch of caches. I thought I was holding it wrong. Signing to get an ios-on-mac app to run was also a hellish experience; I think I ended up using the iPad emulator to preview the thing. It felt a lot like they don't want you to develop things and I guess that fits with their general perceived disdain for general purpose computing (download the big-corp SaaS app from the App Store and shut up).