AppCode inspections for your code perfection

AppCode helps you keep your code accurate and clean and does so as you type so you don’t need to interrupt your coding process. This is what the inspection mechanism is about. If you’re not familiar with this mechanism, you can read our tutorial that describes the essential principles. In this post we’d like to focus on some of the issues where AppCode’s code inspections can help you.
The full list of inspections includes over 100 items, but here we’ll point out a few of the most interesting and useful ones. Do not hesitate to go to Preferences | Inspections for the full list.

Hides class scope
When the codebase is big and complicated sometimes you may create a local variable or parameter with the name of an existing instance variable. This can produce problems if not done on purpose. The “Hides class scopes” inspection helps you to pay attention to such places:

AppCode will suggest solutions (Alt+Enter), like for example rename the parameter.

Continue reading

Posted in Tips'n'Tricks | 7 Comments

Julian Król’s Take on AppCode

Julian KrólThis guest blog post is from Julian Król, Software Engineer at MiQUiDO, a JetBrains Training and Consulting Partner.

He has been developing iOS apps for more than a year and a half at MiQUiDO and continues to find it very exciting. Julian is on LinkedIn.

In my daily programmer’s life I use AppCode. I started using it more than a year and a half ago after being encouraged by a colleague to try it. In the beginning I was a bit skeptical, but as time passed I discovered many of its nice features. Right now, I cannot imagine developing apps for iOS without AppCode. Let me share with you some of the reasons why I like it so much. All of the amenities described below come with version 2.5.4.

Find Usages

AppCode provides a very convenient way to find any usage of a method, a class or a variable. It is especially helpful during debugging, refactoring or just familiarizing yourself with the code. Select ‘the thing’, that usage you want to find, and click Alt+F7.


If you decide to change the name of a variable, method, or whatever else even a group, it simplifies the whole process to the maximum. Select the ‘identifier’ you want to rename and click Shift+F6. The identifier will have a red border while renaming and when you will be happy with a new name, just click enter and it is done. Simple, am I right?

VCS Integration

When we work in a team we always use version control tools and AppCode has the functionality to help us. While making changes AppCode not only indicates the files that have been changed since the last commit, but it does a lot more. It indicates the fragments of code in a file that has been modified. Moreover, the developer can even check how a changed fragment looked before we started messing around with it – very useful.

Code Generation

From time to time while doing apps for iOS I use a singleton design pattern. AppCode has a great feature to do this. Select class name click Ctrl+Enter and select on the pop up +instance option.

I don’t know an easier way to create a singleton. Apart from that, the IDE has a bunch of nice code templates. Do you like ‘for each‘ loops? If yes, then you should try this – type ‘each‘ and press ‘tab‘. There are more for you to try out. Take a look at the list of available live templates under Preferences | Live Templates.

Resources Completion

Another feature I appreciate in AppCode is the suggesting of resources file names while typing. If you want to add some UIImage and you start typing a filename you will see a small context menu with possible images you want to use. This is helpful enough as I never remember all the image’s names. If you mistype a file name or type a filename that does not exist in a project resources, AppCode will let you know.

Normally when I do something, I’m using a few files to complete my task. Sometimes they are pretty far away from each other in the project hierarchy. No worries, AppCode has something for you. Click cmd+E and see a list of recently opened files. Mostly we jump to the file we closed last, so this is the one highlighted in that pop up.


An extremely important thing for a developer is a debugger. AppCode’s debugger is perfect. It is done in the way that reviewing variables’ value is very clear. But what I really like is the possibility to evaluate expressions if only it can be calculated at that time.

There are a few more things I want to mention. AppCode advises the developer on ways to simply conditional statements. Sometimes, something’s are so simple that we don’t see it. Moreover, AppCode will grey out a fragments of code that will never be reached and indicate imports that we really do not need.

I could mention many more features but I have decided to let you discover them on your own. If you develop iOS apps and you have never used AppCode before, I think you should give it a chance as this change might boost your development and make it easier and more convenient. I know that many of the features are available in other IDEs but I like the way it is done in AppCode. To get to know more features, you can visit this page.

I’m not a big fan of ‘drag and drop’ coding style but developers who use it a lot will miss it at least in this version. Maybe in the future JetBrains team will add this feature as well.

MiQUiDOMiQUiDo is a fast growing, international studio focused on creating innovative and compelling mobile solutions for Android, iPhone, iPad and Google TV. Based in Poland and the Philippines, the company offers software development services for businesses all over the world, providing start-ups and mature businesses with comprehensive, high quality mobile products.

MiQUiDo provides mobile technologies trainings and consulting services. Contact us to learn how to use JetBrains tools for mobile application development.

Posted in Uncategorized | Tagged | 6 Comments

AppCode Night in Tokyo, December 17th

We are pleased to invite you to a unique event, AppCode Night, which will take place December 17th in Tokyo, Japan!

A number of software developers are gathering to share their hands-on experience with AppCode, showing some tips’n’tricks, and discussing various aspects of iOS development with an alternative IDE.

Are you curious? Take a look at the outline:

Naturally, there will be great company, fruitful discussions, beer and some prizes from AppCode, so make sure you don’t miss it!

For the location and complete details, please refer to the official meetup page.

Please Note: All talks will be in Japanese.

Many thanks to Yusuke, our friend and an authorized JetBrains reseller in Japan for organizing the event!


The AppCode Team

Posted in Announcement | Leave a comment

AppCode 2.5.4 bug-fix update is available

In this build we have fixed one critical regression: project was not built if the device name contained special characters: OC-8869.

As usual, you can download it from our site or by clicking ‘Check for updates’ in AppCode’s menu.

Develop with pleasure!
The AppCode Team

Posted in Announcement | Leave a comment

JetBrains C++ IDE: News, Plans and More

Update: Cross-platform C/C++ IDE goes public as CLion!

A while ago we announced that we were working on a cross-platform C++ IDE, and most of you have already seen the features list for it. Since then we have received a number of questions about this mysterious IDE, what it will support and when you will finally be able to see it. Well, we’ve got some news for you!

No, we don’t have specific release dates or any public early access builds at this point. But we can give the first private preview builds to a group of people to play with, once we have them naturally. Your feedback and comments will greatly help us to roll out the new IDE quicker, and you can be one of the first ones to try it.

Sounds intriguing? If you do feel like being an early bird, simply fill out this form to subscribe. Please take a moment to answer the questions about the project(s) you’re involved with, as it will help us pick the first group of lucky candidates and get a better idea of what you may need from a C++ IDE in the future.

Stay tuned for updates!

Yours truly,
The AppCode Team

Posted in Announcement | 50 Comments

UI Designer plugin for AppCode is available in early preview

! Update: AppCode 3 released with an integrated UI Designer !

We have exciting news for all Objective-C developers who use AppCode as their IDE of choice—for some time we’ve been working on one of the most desired features: UI Designer.

Today we are going to share with you the first early preview of it. For now, it is available as a plugin which you can already download and play with. The work is still in progress, and at the moment there are some limitations, for instance, plugin only supports .xib format for iOS platform from Xcode 3 up to Xcode 4.6. Support for .xib format for iOS platform from Xcode 5, .xib format for OS X and .storyboards is on its way.
Now, here’s a number of things that you can already do with the plugin:

  • Adding new component to Canvas or Component Tree with one click.
  • Move, Delete, Copy and Paste operations within Canvas and Component Tree.
  • Powerful Properties Editor allows editing any number of selected components.
  • Component Tree, which shows the hierarchy of components.
  • Component Palette with all the components supported by iOS SDK.
  • Creating/editing/deleting connections between components.
  • Creating outlet or action for a component in an Objective-C class that is specified for File Owner.
  • AutoLayout support.

Watch this short overview of AppCode UI Designer in action:

Installation instructions:

  • Update AppCode to 2.5.3.
  • Open Preferences | Plugins and click Browse repositories… button, then use Manage repositories… button to add the following custom plugin repository:
  • Find AppCode UI Designer plugin in the list and click Download and Install button
  • Restart AppCode.
  • Enjoy!

The plugin is still under construction, and we need your feedback on it. We encourage you to try the new UI Designer and tell us what you think via forums or tracker.

The AppCode Team

Posted in Announcement | 22 Comments

AppCode 2.5.3 bug-fix update is available

a new AppCode bug-fix update is ready. In this update we have fixed several major problems. Among them:

  • OC-8608: AppCode 2.5 sometimes was rewriting the Xcode project file
  • OC-8800: Built products were not found for the test targets

Also we have improved the code completion for methods: closing square brackets are now correctly over-typed.

Here is the complete list of changes.

As usual, you can download it from our site or by clicking ‘Check for updates’ in AppCode’s menu.

Develop with pleasure!
The AppCode Team

Posted in Announcement | Leave a comment

AppCode 2.5.2 update

Hi everyone!

We’ve got another fresh update for you today – AppCode 2.5.2 with a number of important fixes and improvements. For instance, here are two crucial problems that were addressed in this build:

  • OC-8521: Long delay when launching app on iPhone 5
  • OC-8426: Cannot step into any method in debugger

We’ve also tested this build with the latest Xcode preview, and it appears to be working fine with it. Check out the complete list of changes and download the build!

Develop with pleasure!
The AppCode Team

Posted in Announcement | Leave a comment

Lucky winners everywhere

October was full of different events which we attended and supported in different ways, and at some of those events there were lucky participants who got a chance to win a personal AppCode license. We would like to congratulate the lucky winners once again.

We were glad to be a part of iOS 7 Feast on, and we wish all the best to these winners:

  • John Olson
  • Janie Clayton-Hasz
  • Luigi Di Muzio
  • Thomas Hempel

10 attendees of Mobilization^3 Conference that took place in Lodz, Poland, are enjoying AppCode now after getting lucky in a raffle:

  • Bogdan Bęczkowski
  • Kamila Wojciechowska
  • Dmitry Kolesnikov
  • Jakub Salamon
  • Marcin Bujacz
  • Mikołaj Kmita
  • Tomasz Rejdrych
  • Damian Tarnacki
  • Łukasz Piotrowski
  • Maciej Sienkiewicz

And that’s not the end of it! 5 attendees of #Pragma Conference 2013 can now greatly boost their productivity with the new IDE in their tool belt:

  • Stefano Zingarini
  • Klaus Lanzarini
  • Claudia Grilli
  • Francesco Abbo
  • Giuseppe Arici

Congratulations to all the winners! We hope you enjoy your prizes and develop with pleasure!

One more thing. In today’s episode of UISprech, the first German podcast about iOS development, there will be something from us for its listeners;)

The AppCode Team

Posted in Uncategorized | Leave a comment

AppCode 2.5.1 bug-fix update is available

Hi everyone!

Here’s a hot new build for you with some fresh updates. Among the noteworthy ones we have these two: OC-8565 (DeviceKit crashes in 32b-mode) and OC-8606 (Terminal environment is used while building project). The full list of fixes you can find here.

As usual, you can download it from our site or by clicking ‘Check for updates’ in AppCode’s menu.
By the way, if you find yourself missing some features, we’re always glad to see your ideas and suggestions in our discussions forum.

Yours truly,
The AppCode Team

Posted in Announcement | Leave a comment