AppCode 3.3 EAP starts now!

Anastasia Kazakova

Previous release was announced just a couple of weeks ago, however we promised to start Xcode 7/Swift 2.0 work as soon as possible. And today we are happy to show you the progress and the direction we are moving forward. Please welcome AppCode 3.3 Early Access Program build (142.4675)!
AppCode_33_EAP

Objective-C + Xcode 7 support

In this build we started our work on supporting latest changes in Objective-C coming with Xcode 7. First, it’s nullability keywords, that are slightly different from those in Xcode 6:

  • __nullable is a compiler definition,
  • _Nullable is a keyword.

AppCode 3.2 supports nullability keywords coming with Xcode 6.4, and this EAP build includes parsing and resolving for these updated nullability keywords from Xcode 7.

Note: completion features are still in development and will be available in the upcoming EAP builds.

Xcode 7 introduced generics in Objective-C. This flexible mechanism is especially important when you bridge in mixed Swift and Objective-C code. AppCode 3.3 EAP now provides basic support for them as well. That includes parsing, highlighting and renaming of the generic parameters:
objc_generics

Note: Incorrect type inference (and thus false incompatible types reported by AppCode OC-12338), incorrectly generated methods implementation (OC-12339) and other possible problems will be addressed in the next EAP builds. Please, report them to our tracker.

If you experience a problem running your app on a simulator in AppCode, please check you switched to Xcode 7 GM, since there is a known problem with it while using Xcode 7 beta 6 (OC-12296).

Swift language support

We are working continuously on Swift language support, finishing all the constructs from Swift 1.2 and starting Swift 2.0. Here is the list of the recent improvements:

  • Assignment keyword from Swift 2.0 support, including completion:
    assignment_compl
  • @noescape modifier for closures is supported since this EAP.
  • Correct completion substitution in case of generics:
    generics_subst
  • Correct handling of the hashbang line while reformatting (OC-12268).

Swift debugger

Starting with v3.2 you can debug your app in Swift in AppCode. A few goodies were introduced in this EAP:

  • Correct collections rendering:
    ns_collections
  • Rendering for CoreFoundation types in Swift.

Adjust Code Style Settings via a Quick Fix

AppCode provides you with many useful quick fixes – they can convert to modern literal syntax, wrap lines with respondsToSelector condition and much more. And now there is another one, however quite different from the above. It’s called Adjust code style settings and appears in case you select several lines and press Alt+Enter for a Quick Fix. This quick fix allows you to get the list of code style options applicable to the selected piece of code only and adjust them right there, reviewing the changes immediately in the editor:
adjust_code_style

Preview Find in Path results

While searching through the code base with Find in Path you can now check the results on the fly – up to first 100 results are listed in preview right in the Find in Path dialog:
find_in_path

Switch JDK version inside AppCode

Current stable version is available in two versions: the usual one, that requires Java 1.6 installed on your system, and the one with the bundled custom JDK with fixes from JetBrains team. With this EAP the things become easier. There is only one build now, and bundled JDK is selected by default. If you want something different, invoke Find Action (Shift+Cmd+A) and type Switch IDE boot JDK… there, then select any prefered JDK installed in your system in the dialog:
select_jdk

New UI for Testing

Run XCTest, Kiwi or Google Test in your project and get the results in the separate AppCode toolwindow, which is now getting better and more convenient to use. First, test durations are shown right in the tree now and you can sort by duration after all tests finish.

If you prefer the vertical orientation for the testing results tool window, you can do that now by moving the window to the right or left, and the console will be adjusted accordingly (please, note, that you need to rerun the tests to get proper adjustments for now):
test_ui

There are questions from our users from time to time, how to save tests results. We usually recommended to pin the tab and thus save the results to look at them afterwards. Now it’s done in an automatic way. Import test results from history in one click:
import_test_results

And more

Other notable changes in this EAP include:

  • RegEx usage possibility in Find and Replace.
  • Ability to edit code right in the diff viewer – simply unlock the editing mode.
  • For Mercurial Queues users: manage patches in the UI now – create patches; import local commit as patches; rename, apply, unapply and remove them.

Find the full list of fixes and improvements here.

That’s it! Download the build and give it a try right now. As usual EAP doesn’t require an active license and you can use it for free for 30 days.

P.S. In line with our code-naming tradition, this version is code-named Espressino, an Italian coffee drink. On the practical side, it’s another tag in our blog to find information on specific AppCode versions – search for Espressino to find posts about v3.3.

Sincerely yours,
The AppCode Team

Comments below can no longer be edited.

45 Responses to AppCode 3.3 EAP starts now!

  1. Paul says:

    September 9, 2015

    Using the bundled JDK the fonts look blurry on a Dell P2414H, but look fine on my MacBook screen.

    • Anastasia Kazakova says:

      September 9, 2015

      Could you please try various options in Preferences | Appearance & Behavior | Appearance | Antialiasing? See if it’s make any difference for you and share with us.

      • Denys Zadorozhnyi says:

        September 10, 2015

        I had “Without LCD rendering” selected after install and the text rendering was worth than in v3.2. I suggest you set “LCD Rendering in IDE and Editor” as a default option to avoid this “surprise”.

        • Anastasia Kazakova says:

          September 10, 2015

          We are still investigating various options configurations, there are too many different cases. However, thanks for suggestion, we’ll keep in mind.

          • Hendrik says:

            September 10, 2015

            I tried both font antialiasing settings and find both worse than the rendering in 3.2.
            With the “LCD rendering” setting fonts look much too heavy/bold for my taste.
            Without this setting, the font weight appears similar to 3.2, but the rendering quality seems worse.

            • Anastasia Kazakova says:

              September 11, 2015

              Could you pls share some screenshots for the combinations? You can send them to appcode-support at jetbrains.com

          • Abílio Costa says:

            October 2, 2015

            I have the same experience as Hendrik. Using the boundled SDK fonts are too bold and blury. Without Subpixel rendering, fonts are not blurry, but have poor anti-aliasing.
            The only way to get a decent rendering is using Apple’s JDK 6.

            • Anastasia Kazakova says:

              October 2, 2015

              Ok, thanks for the feedback.

      • Paul says:

        September 10, 2015

        “Without LCD Rendering” makes it better, but I’m not sure it’s as good as before. That setting looks worse on the MacBook screen than “LCD Rendering in Editor and IDE”, so it seems like there are pros and cons to each setting. I’m going to switch to 1.6 JRE for now.

        • Anastasia Kazakova says:

          September 10, 2015

          Ok. We’ll see what we can do.

  2. Tropper says:

    September 9, 2015

    Awesome! 🙂

    • Anastasia Kazakova says:

      September 9, 2015

      Thanks!

  3. Hubert Rabago says:

    September 9, 2015

    That was fast! Much faster than I anticipated. I’ve been missing AppCode since Swift came out, so I’m really anxious to get back into it once Swift 2 is fully supported.

    • Anastasia Kazakova says:

      September 9, 2015

      Thanks and stay tuned!

  4. Hendrik says:

    September 10, 2015

    Awesome, thank you! I am looking forward to switching back to AppCode from Xcode (for iOS 9 Obj-C code).
    That “Adjust Code Style Settings” feature sounds amazingly useful. Great idea!

    • Anastasia Kazakova says:

      September 10, 2015

      Thanks!

  5. Mars says:

    September 11, 2015

    Each time I open a project in AppCode, it will process swift modules and takes a long time.

  6. luke says:

    September 11, 2015

    Great stuff, please can you prioritise the refactorings/intentions that app code is famous for in swift. Right now there isnt much improvement over xcode when writing pure swift, however i can wait till full support is added. Also some of the navigations in swift arent working reliably

    • Anastasia Kazakova says:

      September 11, 2015

      Thanks. Actually we need to finish the parsing/resolve for Swift 2.0 to move forward with the intellisense.
      However Rename is there, as well as Implement/Override code generation.
      Regarding navigation, pls, submit a code sample or problem description to https://youtrack.jetbrains.com/issues/OC

  7. Kirill Serebriakov says:

    September 14, 2015

    AppCode 3.1 was much better for Objective-C coding. 3.2 & 3.3 have a lot of code resolving issues. Hope that will be fixed soon.

    • Anastasia Kazakova says:

      September 14, 2015

      Could you please elaborate, share some particular cases? We’ll be glad to inevestigate and help.

      • Kirill Serebriakov says:

        September 14, 2015

        There are so many cases, that I don’t believe you don’t know about them. I will open(or update) issue on YouTrack with random case.

        • Kirill Serebriakov says:

          September 14, 2015

          Yep, developers know about problems – https://youtrack.jetbrains.com/issue/OC-10804

          • Anastasia Kazakova says:

            September 14, 2015

            Ok, I see. Anything in particular that annoys you mostly? Or just in general?

    • Fabian says:

      September 27, 2015

      Same here. Most used feature since 3.2 is “Invalidate and Restart” 🙁
      Very often out of random, AppCode does not know most of the symbols anymore, leaving the editor a red minefield with hundreds of wrong quick fix suggestions.

      • Anastasia Kazakova says:

        September 28, 2015

        Could you pls specify AppCode and Xcode versions? And maybe share some code sample. Pls, pay attention, that AppCode 3.2 is not working with Xcode 7. And Xcode 7 is available in AppCode 3.3 EAP, though it’s not ready fully. You bug reports will be appreciated.

        • Kirill Serebriakov says:

          September 30, 2015

          Tested AppCode 3.2 EAP with xCode 6.4
          AppCode 3.3 EAP with xCode 7.0.1

    • Kirill Serebriakov says:

      September 30, 2015

      Today is the day when I switched back to xCode. :'(
      Not possible to write code at all, feels like a notepad…

      Will still use it for refactoring and code navigation, but I can’t coding now. AppCode’s resolving system is completely broken. As result autocompletion not working. Restart not helping.

      • Anastasia Kazakova says:

        September 30, 2015

        Kirill, could you please provide some details? Code sample, AppCode version (which EAP build exactly), etc. Here or in the bug tracker: https://youtrack.jetbrains.com/issues/OC

        • Kirill Serebriakov says:

          September 30, 2015

          Already provided few samples. Will provide more when they will be closed.
          Issues started with 3.2 EAP and things only getting worse. I assume it is related to ObjC & Swift language changes + new xcode. But anyway I’m really sad 🙁

        • Kirill Serebriakov says:

          October 1, 2015

          Most of my annoying issues was fixed with build 142.5239.5. Have some new minor issue, but anyway
          I can use AppCode again. Good job.

          • Anastasia Kazakova says:

            October 1, 2015

            Great! Thanks. Feel free to report new ones)

    • Muhammad Zeeshan says:

      October 15, 2015

      In AppCode (3.2) I always have errors on external Framework imports then thier code usages (e.g #import ). On 3.1 and 2.x Appcode always shows Warning internal framework includes as redundant (e.g #import , #import ).

  8. Alex says:

    September 17, 2015

    Please please… Pretty please…Bring the Ui designer support for swift to app code

    • Anastasia Kazakova says:

      September 17, 2015

      As we were explaining here (https://blog.jetbrains.com/objc/2015/06/appcode-starts-3-2-eap/) UI Designer is moved to an optional plugin and it’s a bit out from the top of the queue, because we are more focused now on Swift editor experience, smart features like refactorings and so on. Maybe later we’ll come back to UI Designer.

  9. Valeriy says:

    September 24, 2015

    AppCode 3.3 EAP freezes on start trying to open project. Only force quit can close it. How can I completely uninstall AppCode and get the fresh one ?

    • Anastasia Kazakova says:

      September 24, 2015

      Looks like a known problem. Please, get the next EAP coming this week, and try with it.

  10. AppCode Review | dominickm.com says:

    January 10, 2016

    […] development of Swift seems ot have come at a cost, the integrated UI designer. As explained here, the Designer has been made a plugin that can be added after you install the main AppCode package. […]

Subscribe

Subscribe to product updates