AppCode 2017.2 RC2

Hi everyone,

We are approaching release, so AppCode 2017.2 RC2 build (172.3317.89) is available for download on our site. Note that build requires an active subscription.

The following issue is fixed in this build:

    • No ability to extract method with return statement inside closure (OC-15770)

Due to a number of reports about weird behavior of indexing/symbols building progress and sporadic appearance of “Indices are not ready” message we decided to revert the fix for OC-15714. We are targeting to have a better solution for this in future AppCode versions.

We also disabled inspection for unimplemented protocol members (OC-12701) since there were false intentions in some cases (e.g. OC-15380). The inspection will be restored as soon as we resolve related issues.

For the full list of fixes please see the release notes.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

AppCode 2017.2 Release Candidate

Hi everyone,

AppCode 2017.2 Release Candidate build (172.3317.73) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available). The following issues are fixed in this build:

    • Freeze on right click in IDE (OC-15714)
    • Slow indexing after reopening project (OC-15534)
    • Swift files not being recompiled on changes in Objective-C code (OC-15757)
    • NSObjectProtocol members mistakenly offered for implementation in mixed Swift/Objective-C projects (OC-15505)

In addition, extract method in Swift now handles comments inside selected block (OC-15747) and updates preview when parameters are reordered (OC-15748).

For the full list of fixes please see the release notes.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 2 Comments

New AppCode 2017.2 EAP: Extract Method refactoring for Swift and support for Xcode 9 documentation format

Hi everyone,

New AppCode 2017.2 EAP (build 172.3317.17) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available).

Extract Method for Swift

This build brings one of the most important features from our roadmap, an initial implementation of Extract Method refactoring for Swift! Select the code you want to extract, press ⌥⌘M, and type the method name:
Extract Method start
Click on the row with parameter name to change it or add an internal name:
Edit parameters
Change the method/function visibility as you want:
Set visibility
Press enter and have your code replaced with the method or function call you have just created:
Finish Extract Method

Note, that some issues still exist and we are working on them.

Besides, this build also brings support for Xcode 9 documentation format, fixes the issue when test output was empty when running UI tests with Xcode 9 set in AppCode preferences, and addresses some regressions found during our testing.

For the full list of fixes please see the release notes.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , , | 10 Comments

New AppCode 2017.2 EAP, build 172.3198.15

New AppCode 2017.2 EAP (build 172.3198.15) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available). The following issues are fixed in this build:

  • Problem with the project creation in Xcode 8.3.3 (OC-15703)
  • Problem with UI tests in Xcode 9 (OC-15673)
  • Rare deadlock on simulator start (OC-15689)
  • Fix for the compiler note messages – now they will appear as a subnode for the corresponding error or warning (OC-14442)

Besides, AppCode now shows build progress indicator instead of the indeterminate progress (OC-3248).

For the full list of fixes please see the release notes.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

Three AppCode plugins for Swift development

There are a lot of helpful plugins in AppCode plugin repository – such as, for example, the Markdown support. Today we will take a look at three plugins dedicated to Swift development.

SwiftLint

SwiftLint is a static analysis tool by Realm that helps you enforce Swift style and conventions in your project. You can use it in AppCode in the same way as in Xcode, by adding the corresponding build phase into your project settings. However, it may be easier to configure it once for all projects. To do that, install the SwiftLint plugin directly from Preferences | Plugins:
SwiftLint
Restart AppCode and open Preferences | Tools | SwiftLint. Here you can set the path for the SwiftLint executable (default is /usr/local/bin/swiftlint), select if you want the Autocorrect quick-fix to appear for each SwiftLint warning, or disable SwiftLint if there is no .swiftlint.yml in the root folder of your project:

SwiftLint preferences
Finally, you should be able to see SwiftLint diagnostic messages right in your code editor window and be able to invoke swiftlint autocorrect for the current file using the Autocorrect quick-fix:
Autocorrect

Swift Mock Generator

Swift Mock Generator
This awesome plugin automatically generates mock classes for Swift protocols and has the following features:

  • Captures invocation status of a method.
  • Captures invoked method parameters.
  • Stubs values for your mocks to return.
  • Automatically calls closure parameters with stubbed values.
  • Supports mocks conforming to one or many protocols.
  • Handles overloaded method declarations.
  • Regenerates your mock in one action.
  • Supports associated types.
  • Respects public mocks and makes queries publicly available.

Read the full overview of its functionality here.

Swiftify

Swiftify is a paid tool that aims to be a full-featured Objective-C to Swift converter. Now you can configure and use it directly in AppCode by installing the plugin by the Swiftify team. Enter your API key in Preferences | Tools | Swiftify:
Swiftify preferences
Check the Tools | Swiftify menu and convert some code:
Convert to Swift
That’s it! Of course, you can set the shortcut for each Swiftify action in Preferences | Keymap:
Swiftify actions
Using any other useful plugins with AppCode? Tell us about them in the comments section below, and we’ll include it in the next blog post about plugins.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Tips'n'Tricks | Tagged , | Leave a comment

New AppCode 2017.2 EAP: documentation fixes and first part of Xcode 9 support

AppCode 2017.2 EAP (build 172.3095.17) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available).

The most important part of the new functionality included into this EAP is the initial support for the new documentation format introduced in Xcode 8 (OC-13906):
Quick documentation
Note, that some issues still exist and we are working on them.

In addition, this build delivers the following Xcode 9 support fixes:

  • Fix for the simulator startup (OC-15651)
  • Support for multiple simulators running simultaneously (OC-15669)

Besides, now completion of raw enum cases and global/static constants in Swift includes the value preview:
value_completion@2x
For the full list of fixes please see the release notes.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 1 Comment

AppCode 2017.2 EAP: type hints in Swift, fixes for override/implement and more

Hi everyone,

AppCode 2017.2 EAP (build 172.2953.16) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available). Let’s see what’s on board!

Swift

Inline type hints

This build brings a handy feature for Swift language – type hints in the editor. Hints are displayed for variables which have no explicit type annotation:

Type hints

Type hints are disabled by default and can be enabled globally via Preferences | Editor | General | Appearance | Show Swift type hints.

There is also an option to toggle type hints on/off in the file you’re currently working on without touching global preference: View | Active Editor | Show Type Hints.

Besides, the following issues are fixed in this build:

  • Delayed processing of extensions in resolve (OC-15539)
  • Override completion suggestions at unexpected position (OC-15507)
  • Completion list being hidden too early in certain cases (OC-15296)
  • Generated methods not respecting “keep simple methods in one line” option (OC-15309)

For the full list of fixes please see the release notes.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 1 Comment

New AppCode 2017.2 EAP: fixes for Run configurations and override completion

AppCode 2017.2 EAP (build 172.2656.14) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available). The following issues are fixed in this build:

  • AppCode messes up product name in Xcode schema and fails to find the product (OC-15021)
  • Run configuration: spaces are inserted into program arguments with slashes when IDE is brought to background (OC-15555)
  • Override by completion for operators doesn’t work without func
    (OC-15554)
  • Regression when type for global variable/property is not inferred after additional code changes (OC-15560)
  • Regression with open keyword clashed with the method name (OC-15569)

Besides, override/implement completion in Swift now takes into account parameter names.

The full release notes are available here.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

New AppCode 2017.2 EAP, build 172.2465.14

AppCode 2017.2 EAP (build 172.2465.14) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available). The following issues are fixed in this build:

  • AppCode only lists run destinations for the first platform in SUPPORTED_PLATFORMS (OC-14416)
  • False error highlighting for #import directives when using Swift classes from Objective-C (OC-14074)
  • Regressions in completion (OC-15540) and Override/Implement (OC-15523) in Swift
  • Issue with string literals formatting (OC-15410)
  • Issue with formatting of method arguments with keywords used as argument labels (OC-13430)
  • Problem with build messages reporting in certain case (OC-15542)

The full release notes are available by the link.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | Leave a comment

New AppCode 2017.2 EAP, build 172.2273.3

AppCode 2017.2 EAP (build 172.2273.3) is available for download on our site (if using previous 2017.2 EAP build, the patch update is also available). This build delivers the following new features:

  • SE-0112: Improved NSError Bridging (OC-14141)
  • New Swift code style option: keep simple methods and functions in one line (OC-15212). Find it in Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting section

The following issues are fixed in this build:

  • SourceKit annotations do not work under certain conditions (OC-15482)
  • Cannot stop build with keyboard or menu (IDEA-168849)

The full release notes are available here.

Your AppCode team
JetBrains
The Drive to Develop

Posted in Announcement | Tagged , | 1 Comment