Alternatives for AppCode

AppCode has been sunset and I am wondering if anyone is aware of a suitable replacement (which is probably impossible considering the scope of this IDE). I simply can not go back to Xcode, as a code editor, and it's driving me mad.

1 Like

(sorry if its an obvious question) but i'm assuming you are developing ios apps, so is clion + swift plugin is insufficient right?

According to this page the plugin is deprecated as well

wow, i didn't notice that sunsetting of appcode also deprecates swift plugin support... :expressionless:

Why can't you use Xcode? If you are developing on Linux or Windows, the extension for VS Code might be an option.

This is my personal opinion and I understand that everybody has different requirements and preferences, but I have been using IntelliJ IDEs for more than 10years I came to love the features it has.

  • Version Control integration is second to none. I probably will continue using VC and merge tools through IntelliJ community edition.
  • Version control workspaces which restore tabs based on your branches is such a beautiful feature when you have to work on multiple branches from time to time.
  • Being able to use AI tools like coPilot if you want to improve your productivity via plugins.
  • The endless refactoring options Xcode can only dream of. LiveTemplates, ScratchFiles and so on.
  • Advanced code editing features and actually getting indentation right when moving lines, this drives me bananas to wait for code formatting to do something the ide should do. VS Code is probably be able to fill the some blanks here.
  • Being able to order the file structure and being able to create scopes to filter the project is fantastic for very large projects.

I dont have a need for visual programming so all the nib/xib and xml based Xcode features are fluff I dont need. What I am really looking for is an editor which is helpful in writing code, Xcode aint it. Unfortunately I might not have a choice which is sad.


Personally I use Xcode (not even for app development) because it's simple. There isn't a 100 buttons and flashing icons to distract you, just the code, syntax highlighting and a lot of keyboard shortcuts; errors even fade out nicely when you start typing. Using git from the terminal is the most reliable anyway. These are all just tools, the important part is the code.
And there's a nice Vim mode built in :slight_smile:

Other editors like VSCode and most other IDEs are really bad at this. I have an unnecessarily long settings.json file just to get VSCode to stop bothering me with too many features. Everything is enabled by default and the editor looks like a :christmas_tree:, just gets in the way of writing.

However it seems like most people prefer the features and don't like writing as much, so I guess it is indeed sad that there's less choice now. I suppose I wouldn't like writing code either if I had to work with Apple's painfully object oriented apis, it doesn't even feel like Swift, just objective-c with pretty syntax.

Though, according to this:

While we’ve had some growth in terms of adoption, we didn’t reach the market share we had hoped for. We believe that the time has come to sunset the product and focus our efforts in other directions.

It would seem like for app development most people either use Xcode (unlikely) or just write all their apps in cross platform frameworks.

JetBrains’ IDEs are great, and there are certainly some features not matched by Xcode. But Xcode has also become quite good, especially in the newest version with e.g. the pinning code structures, and I even like the GUI of Xcode better with the easily accessible tools (e.g. the search) on the left (yes, I like using the mouse, too many shortcuts to remember everywhere!). And BTW, Xcode now shows errors “immediately” in all (!) Swift files of the project.

So I guess it is not only that not many people actually bought AppCode/CLion (using CLion with the Swift plugin — and in my opinion the Swift plugin for CLion has never been great), JetBrains certainly judged that there is less and less reason to use AppCode on the Mac. And on Linux and Windows (of course, also on macOS) there is the extension for VS Code.

So try out Xcode again, it might not as bad as you remember.

If you are used to a nice GUI for Git (like a JetBrains IDE), you certainly do not want to start remember the Git commands. And in my opinion, an excellent Git GUI (like e.g. also SmartGit) is much more powerful from a practical standpoint in the normal case. Just see how great it is to just click on the log entries and immediately see what has changed in the according commit inside a great diff view integrated in the tool. (I do not know what Xcode currently can do in this respect. UPDATE: In Xcode, you first have to double click on a commit or click on the file listed in the right explorer for a commit to open the according view, so it is not as immediate as in SmartGit where you can keep the according view open, but also very good. UPDATE 2: What seems to be missing in Xcode is a log view for a certain file (the list of commits, and showing the changes in the file when choosing the commit; SmartGit has it).)

1 Like

Yeah I was going to mention that :slight_smile:
Not sure if I understand what you mean correctly, but that commit view counts as a normal editor tab, you can definitely have these side by side with any other tab; they can be split however you like and you can move between them with shortcuts (though I find the trackpad faster)

edit: Xcode doesn't have the tabs always visible by default, that's a setting called "navigation style" under Navigation

To see your own changes there's also a button with 2 arrows in the top right, and the menu next to it allows choosing between a side by side view and inline view

The split tab button is a bit weird though and breaks macOS convention, normally when buttons change on holding option, they revert to the original setting once you release it. This one will just remain in the new configuration after you split the editor so it can be confusing sometimes. Better to just use the shortcuts.

See the following short videos:

In Xcode, you have to double-click on a commit to see the changes, whereas in SmartGit the according diff view is always open, so you just click once (keeping the view) and the "first" change becomes visible, and you can select another file (keeping the same views).

It does not seem to be such a great difference, but in practice in SmartGit it is so much nicer to the go through the changes.

(In SmartGit you can then also double-click on a file to get a separate large view of the changes in a file for the commit.)

Oh I see, looks really cool for dealing with a lot of these