こんにちは、Habr!
最近、AppCode 2016.3がリリースされました。この投稿では、その中で最も興味深い変更について説明します。

スイフト
Swift 3のサポート
このリリースで取り組んだ主なタスクの1つは、Swift 3のサポートでした。
多くのことを実装することができました。今後のアップデートで残りのタスクの作業を続けます。
使用法から作成
新しいアップデートごとに、Swiftのコード生成機能の拡張を試みます。 これらは、選択したコードセクションの「ラップ」、
変数リファクタリングの
導入 、およびオーバーライド/実装(
^O
/
^I
)を可能にする
ライブテンプレートです 。これらを使用して、複数のメソッドの定義を一度に生成できます。
このリリースでは、変数、関数、メソッド、さらにはそれらの使用からクラスプロパティを作成する機能を追加しました。 これは、何かをすばやくプロトタイプする必要がある場合に特に便利です。 まだメソッドがないようにして、記述し、必要な引数を渡し、passを呼び出し
⌥⏎
-それだけです。必要に応じて、自動生成された関数シグネチャをわずかに修正するだけです。

gifでわかるように、同じ原則を使用して、コード内に他のエンティティを作成できます。 Swiftのタイプ(クラス、構造など)を生成する同様の機会を少し後で追加する予定です。 しかし、Objective-C / C / C ++では、これらの機能はすべて長い間存在していたため、すぐに使用できます。
コードのフォーマット
Objective-C / C / C ++の場合、AppCodeには多数のフォーマットオプションがあります。

選択したコードセクションで
⌘⌥L
を呼び出すと、それらを適用できます(コードが選択されていない場合、ファイル全体がフォーマットされます)。 Swiftの基本機能は
バージョン3.1に実装されましたが、多くの言語固有のフォーマットオプションは含まれていませんでした。 このリリースでは、それらを追加することにしました。
AppCodeでは、次のさまざまな転送ルールを構成できます。
- 閉鎖パラメーター
- コードで使用するさまざまな場合の単純なクロージャー:

- メソッドおよび関数宣言のパラメーター
- コードで使用されるメソッドと関数の引数
- 連続したメソッド呼び出し:

- 同じ行に複数の条件付き構成
また、変数自体、辞書、および辞書自体のkey:valueペアの指定で、コロンの前後のスペースにブロックが追加されました。

性能
いくつかの主要分野でSwiftを使用する際のAppCodeのパフォーマンスを改善しました。
1つ目は型推論です。 AppCodeは、コードの強調表示の速度、オートコンプリートの速度なども決定します。 その結果、複雑なコード構成でも大幅に高速化することができました。
2つ目は、オートコンプリートの速度です。 ここでは、オプションのリストのキャッシュに徹底的に取り組みました。これにより、オプションをはるかに高速化することができました。
また、エラー、警告、修正(fix-it)の表示速度に反映されたSourceKitとの統合におけるいくつかの問題を修正することができました。
UIテスト
AppCodeで、UIテストを実行(
^⌥R
)およびデバッグ(
^⌥D
)できるようになりました。 落とされたテストは合格したものから除外でき、修正後は再起動するだけです。

テスト実行結果は、期間(または名前)でソートできます。

それらはすべて組み込みの履歴に保存され、後でIDEで直接表示できます。

セマンティックハイライト
他の多くのJetBrains製品と同様に、AppCodeには、関数のパラメーターと変数を一意の色で強調表示する機能があります。 Swift / Objective-C / C / C ++に対して有効にするには、設定
エディター→色とフォント→言語のデフォルト→セマンティックハイライトを使用します 。

C / C ++
伝統的に、
CLionチームによって実装されたC / C ++サポートの改善はAppCodeでも利用できます。 これらについては、それぞれ
このセクションの
C サポートと
C ++サポートのセクションで読むことができます。 ところで、この投稿で説明されているさまざまなプラットフォームの変更(バージョン管理サポートの改善、メニューのデフォルトフォントとしてのサンフランシスコなど)もAppCodeで利用できます。
デモ
開発者弁護士Phil Nashの新機能のデモを含む小さなデモ(英語):
当社のウェブサイトで製品のその他の機能についてお読みになり、
英語のブログでお楽しみになり、この投稿へのコメントで質問をしてください。