AppCode 3.4 EAP opens: OptionSetType support, “Set value” for Core Data and more!

Hi,

Today we are excited to announce the launch of AppCode 3.4 EAP and the first build is already available on our confluence page. Please note that a patch from the release version will not be available until AppCode 3.4 gets stable. This EAP does not require an active license, so you can use it for free until the build expiration date.

AppCode 3.4 EAP

Swift

This build delivers the following features and improvements:

  • Parsing, completion and resolve for types conforming to OptionSetType protocol (OC-12078):
    OptionSetType
  • Parsing, completion and resolve for Self type (OC-12913):
    Self statement
  • Set value in Swift debugger for Core Data objects (OC-12896):
    Set value for Core Data
  • Resolve for enum members in if-case statement (OC-12878)
  • Resolving enum initialisers (OC-12639) and parsing named arguments in tuple patterns (OC-12985)
  • Fix for Swift Structure View freeze (OC-11526)

C++

Now the Quick Documentation popup (available via F1) also shows documentation for lambda expressions (but mind the remaining problem CPP-5491), namespace aliases (CPP-682) and explicit instantiation. This EAP build also addresses some problems with quick documentation in C++, like the internal error that would previously occur while fetching documentation for anonymous class/struct/enum.

Source directories management

New context menu called Mark directory as is available for folders in Files view:

Mark directory as

  • Mark directory as excluded. You can choose this option for 2 different cases. First is when you want to remove some directory contents from Inspect Code, Find in Path (⇧⌘F) or Search Everywhere (Double ⇧) results. By default these actions are executed not only on files included into Xcode project, but on all files that are located in the project root folder (except build directories like DerivedData). Second is when you have a source folder included into your Xcode project and you don’t want AppCode to index it. AppCode indexes all directories listed in your Xcode project in order to provide you with accurate code completion, navigation, refactorings and other smart features, but sometimes the source folder can be too big and indexing can become too expensive – in this case you can tell AppCode to manually exclude such folders from indexing.
  • Mark directory as library. If you have framework sources included into your Xcode project (or workspace), you may want to disable refactorings for it and take control over navigation and search options. If you mark some folder as a library, refactorings for sources in this folder will be disabled, as will code generation options and completion. By default, results from this folder will not be shown for Navigate to File, Class or Symbol actions. However, if you still want to navigate to the library sources, you can simply tick “Include non-project items/symbols/files” and the corresponding items will be shown in the navigation dialog.
  • Mark directory as project sources. In some situations this action can also be helpful – for example, if you want to get navigation and completion for some sources located in your project’s folder but not included into the currently opened Xcode project.

Version control

A couple of new features are included into this build:

  • By-word difference highlighting in Diff viewer:
    By word difference
  • Checkout with Rebase Git action, helpful in case you want to rebase a feature branch on master in one click:
    Checkout with rebase

Xcode compatibility

In one if the recent blog posts about AppCode 3.3.3 RC we’ve mentioned that there were some critical issues with debugger when using it with Xcode 7.3 beta 2. These issues should be fixed in this EAP build, so you can use it with the latest Xcode beta.

Note, that starting from AppCode 3.4 EAP minimal Xcode version supported by AppCode will be limited to Xcode 7.2. To use AppCode with earlier Xcode versions (for example, Xcode 7.1.1), please install AppCode 3.3.3.

Java Runtime Environment used with AppCode

IntelliJ Platform has migrated to Java 8 as the target platform. In practical terms this means the following:

  • AppCode won’t start under JDK versions older than 8. In general it shouldn’t be a problem for you, since AppCode installer contains an appropriate bundled JDK version.
  • In case you’ve switched the Java version used for running AppCode to a non-bundled one (via Switch IDE boot JDK…) and then imported these settings while starting the AppCode 3.4 EAP, you may receive the ‘unsupported Java version’ error. To fix the problem simply delete ~/Library/Preferences/AppCode34/appcode.jdk. In future versions we’ll try to handle this situation automatically (IDEA-149618).
  • Plugin writers will be able to use Java 8 features in their plugins.
  • The annoying issue with Java2D Queue Flusher thread crashing is fixed in this JDK version.

And more:

    • Support for RTL languages (Arabic and Hebrew) added to the editor.
    • CoffeeScript and Stylus plugins bundled in AppCode.
    • Improved UI for Attach to local process… action:
      Attach to local process

The full list of improvements and fixes is available here.
Download AppCode 3.4 EAP build 144.3600, give it a try and report issues to our tracker or share your feedback in comments!

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 9 Comments

AppCode 3.3.3 RC2 is out

Hi everyone,

After the first 3.3.3 release candidate we decided to publish an update with a couple of stability fixes for resolve and code generation in Swift.

As usual, you can download AppCode 3.3.3 RC2 from our confluence page or just install the patch update which will be available in case you are using AppCode 3.3.3 RC. Note, that this RC build requires an active AppCode license or is available for 30 day evaluation.

Feel free to share your feedback in the comments section below and submit feature requests or problems to our tracker.

Update: Swift module caches for Xcode 7.2.1 are not yet included into this version. It can affect speed of Processing Swift modules… phase while project opening. This issue will be fixed in release build, so you will be able to use Xcode 7.2.1 without such problems.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

AppCode 3.3.3 Release Candidate

Hello everyone,

AppCode 3.3.3 RC is available for download on our confluence page. The patch update is also available if you are using previous 3.3.3 EAP build. And also please note that this RC build requires an active AppCode license or is available for 30 day evaluation.

This build mostly contains bug fixes and addresses a couple of important issues:

  • Running tools installed into /usr/local/bin in “Run Script” build phase (OC-12751)
  • Problems with auto-formatting after refactoring when creating a new file (OC-12483OC-12841)

Important note: 2 days ago Apple published Xcode 7.3 beta 2 and there are some crucial changes in debugger that break compatibility with AppCode 3.3.3. As we are going to release 3.3.3 update soon, we’ve decided to limit it’s maximum supported Xcode version to 7.2. Support for Xcode 7.3 beta 2 will be delivered in upcoming 3.4 EAP builds.

Feel free to share your feedback in the comments section below and submit feature requests and problems to our tracker.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

AppCode 3.4 roadmap update

Hi everyone,

Two months ago we published AppCode 3.4 Roadmap and now it’s time to update it and make some corrections in the release schedule:

  • We plan to release AppCode 3.3.3 update at the beginning of February without significant additions to features and fixes that are already included in 3.3.x EAP builds. Approximately at the same time we will start the Early Access Program for AppCode 3.4.
  • ETA for AppCode 3.4 release is early Spring, as planned before.
  • Features that are currently not marked as “completed” here will be partially delivered in AppCode 3.4 release, while others will be included in 3.4.x updates. It means that some of the most complicated features (such as syntax inspections or refactorings) can appear only in 3.4.x updates, but we will try to deliver both of those in 3.4. The preliminary schedule for minor updates will be published after the release.
  • Currently we have the following features left in the roadmap that are planned for 3.4 and 3.4.x releases:
  • In addition to the features mentioned above we’ve decided to add the following items in our roadmap based on your reports and requests:
    • Fixes for bridging header problems (subtasks of OC-10438 and related issues) that currently affect different code constructions when using mixed code (Swift + Objective-C)
    • Fixes for issues with resolve that currently affect completion in Swift (for example, OC-11729 and related issues)
    • Fixes for Swift debugger

As usual, there can be some external factors that can change our plans (like any massive changes in new Xcode updates), but we’ll do our best to deliver most of the features mentioned here on time.

Stay tuned and don’t miss 3.4 EAP launch!

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 5 Comments

New AppCode 3.3.3 EAP, build 143.1821

New AppCode 3.3.3 EAP, build 143.1821 is available for download. The patch update is also available if you are using previous 3.3.3 EAP build. Since this build is EAP for minor update, it requires an active license (alternatively use the 30-day free evaluation).

This build delivers a couple of improvements – “Set value” action for array elements (OC-12807) and class properties (OC-12542) in Swift debugger.

The list of other fixes and improvements can be found here. Feel free to share your feedback in the comments section below and submit feature requests and problems to our tracker.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 5 Comments

New AppCode 3.3.3 EAP, build 143.1653

New AppCode 3.3.3 EAP, build 143.1653 is available for download. Since this build is EAP for minor update, it requires an active license (alternatively use the 30-day free evaluation).

The most important change is that starting from this version AppCode bundles pre-built caches for standard Swift frameworks. Currently caches are included for Xcode 6.4/7.0.1/7.1.1/7.2.

It means, that for these particular Xcode versions performance of Processing Swift modules… step after initial project opening should be significantly improved and initial symbols caching should be faster in case of Swift-only and mixed projects, because AppCode will use pre-built caches. For all other Xcode versions (for example, Xcode betas in the future) initial caching performance will remain the same as in previous AppCode versions until proper caches will be bundled.

The list of other fixes and improvements can be found here. Feel free to share your feedback in the comments section below and submit feature requests and problems to our tracker.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

AppCode 3.3.3 EAP starts now!

Hi everyone,

Today we are starting the Early Access Program for AppCode 3.3.3 and the first build 143.1453 is already available on our confluence page. Since this build is EAP for a minor update, it requires an active license (alternatively, use the 30-day free evaluation).

The full list of fixes and improvements is here, and as usual we outline the most important ones.

Swift

Protocol extensions

One of the most notable new features in this build is parsing, completion and resolve for protocol extensions in Swift.

Use the Implement methods… action (Ctrl+I) inside an extension clause to generate the implementation for protocol methods:

To make navigation between method definition in protocol and its implementation in extension easier, corresponding icons are added to the left-hand editor gutter.

Debugger

We’ve improved rendering for standard Swift collections (Array, Set, Dictionary) as well as for other CollectionType subclasses:

  • Now you can view Dictionary and Set contents even on 32-bit iOS simulators.
  • Elements for any collection are shown in a convenient way with all not needed attributes skipped, both in the Variables view and the editor (in case the inline variables view is enabled). It’s especially important when you are trying to view the contents of some specific CollectionType subclasses such as FlattenCollection:

Error handling

As we continue to work on error handling support for Swift, this build delivers the following improvements:

  • “Add ‘catch’ clause” and “Add default ‘catch’ clause” intentions to quickly add a catch clause for a specific error thrown in the do block, or just a general catch clause that will handle any error:
  • Quick-fix for the situation when try was incorrectly placed on the right hand of a binary operator:
  • Fix for the issue when throws and rethrows did not appear in a function signature created with the Override/Implement action.

Apple TV support

This version addresses a couple of issues important for Apple TV developers:

  • Running tvOS apps on Apple TV device (OC-12845)
  • The problem with running tvOS framework unit tests on the Apple TV simulator (OC-12614)

In addition, tvOS and watchOS SDK are now visible in Base SDK drop-down on the Project Settings pane.

And more

  • Override/Implement popup now shows optional protocol methods by default when using it from Swift (OC-12708):
  • Issue with completion in Objective-C blocks is fixed (OC-7965)
  • Initial parsing for if … case statements is implemented (some major parsing issues still exist, see subtasks in base ticket)

Download the new EAP build, try it and share your feedback in the comments below or submit a ticket to our tracker!

P.S. Have you read about Swift plugin for CLion? In case you are using Swift for development on Linux, you definitely should )

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 3 Comments

AppCode 3.3.2 Update is Out

Hi everyone,

We are glad to announce that AppCode 3.3.2 bug-fix update is available for download.

new_splash_33

And if you’ve noticed our new splash, it’s not only a new picture – it’s a whole makeover! Read about the new JetBrains branding in our company blog.

Let’s take a quick look at the features and improvements added into this update.

Swift

  • “Surround with do/catch” and “Propagate call error with try”  quick-fixes are available for throwing functions as well as parser improvements for constructions with rethrows keyword
    Surround with do/catch
  • Quick-fix added for splitting multiple variable declarations into separate ones

Swift debugger

This update delivers one of the long-awaited debugger features: support for watches and expression evaluation.

evaluate_expression@2x

Now you can view values of variables added to Watches tool window, evaluate Swift expressions using Evaluate expression… action (Alt+F8), and benefit from code completion for both cases while debugging your Swift projects.

Apple TV simulators

We’ve added support for Apple TV platform which includes running and debugging tvOS apps on Apple TV simulators (note, that running applications on tvOS device is currently not possible due to this issue).

tvOS simulators

Search and navigation

Objective-C and Swift project symbols are now included into Search Everywhere results:

search_everywhere@2x

And more 

  • Improved performance in loading Swift modules after initial indexing and building of symbols (OC-12345)
  • A number of stability fixes for project model loading

The full list of fixes and improvements can be found here.

In future versions we will continue to work on features from our roadmap, improvements in loading Swift modules and overall performance of the AppCode.

Stay tuned and don’t miss the next EAP launch!

Develop with pleasure,
The AppCode Team.

Posted in Announcement | Tagged , | 20 Comments

AppCode 3.3.2 Release Candidate

AppCode 3.3.2 Release Candidate (build 143.1183) is available for download. The patch update is also available if you are using previous 3.3.2 EAP build.  Since this build is RC for minor update, it requires an active license (alternatively use the 30-day free evaluation).

This build delivers one of the important features for Swift debugger – support for watches and expression evaluation.

evaluate_expression@2x

Now you can view values of variables added to Watches tool window, evaluate Swift expressions using Evaluate expression… action (Alt+F8) and benefit from code completion for both cases during debugging your Swift projects.

The list of other fixes and improvements can be found here. Feel free to share your feedback in the comments section below and submit feature requests and problems to our tracker.

Develop with pleasure,
The AppCode Team

Posted in Announcement | Tagged , | 16 Comments

New AppCode 3.3.2 EAP, build 143.1015

New AppCode 3.3.2 EAP, build 143.1015 is available for download. The patch update is also available if you are using previous 3.3.2 EAP build.  Since this build is EAP for minor update, it requires an active license (alternatively use the 30-day free evaluation).

This build mostly contains bug fixes and addresses a couple of important issues:

  • Freeze while opening large projects (OC-12689)
  • Improved performance for Swift modules loading after initial indexing and symbols building (OC-12345). When you open the project for the first time, the issue with initial Swift modules loading is still present, however when done once, the speed then improved a lot and subsequent re-openings of the same project happen much quicker comparing to previous AppCode versions.

The full list of fixes and improvements can be found here.

Download the EAP build, give it a try and share your feedback in comments!

Develop with pleasure,
The AppCode Team

Posted in Announcement | Tagged , | Leave a comment