Xcode 4のコードフォーマットとユーザースクリプトについて

人が日常の仕事に飽きたら、この仕事をやめたいという強い欲求があります。 ただし、実際には、それを取り除くことはそれほど単純ではなく、すべてを行う必要があります。 仕事の種類とその量に応じて、さまざまな方法で行動できます。 すでに学んだ行動を続けることができ、自分自身に入り、この世界、上司、PM'a、<理由を書く>で怒りを蓄積することができます。そして、あなたはこのルーチンを自動化することができます。



また、自動化が必要な特定のタスク(コードの書式設定)と、自動化に役立つあらゆる種類の便利な機能を使用してXcodeを拡張する方法についての投稿を行います。 前回はCopy Paste Detectorでした。 そして、Code-Formatteraの時間です。 ここでは、自動Code-Formatterが必要かどうかという問題は発生しないとすぐに言います。 あなたがそれを必要とすることを前提としています。 それでも必要ない場合は、猫の下を見て、Xcodeで外部スクリプトを使用できることを思い出してください。



最初の目標は、ソースコードの一部をXcodeで自動的にフォーマットすることです。

この問題を解決するためのすぐにいくつかのオプション:

  1. 引き続き手動でフォーマットします
  2. 組み込みのXcode Reindentを使用する
  3. カスタムスクリプトを使用する
  4. 外部フォーマッタプログラムを使用し、Xcodeからテキストをコピーして、フォーマットし、テキストをXcodeにコピーして戻す
  5. Xcodeプロジェクトからファイルを開く他のプログラムと並行してXcodeを使用する




それらがどのように私たちに合っているか見てみましょう。



私は自分の手で修正します! Xcode 1.0の手でフォーマットする



そのような人がいます。 たぶん、彼らは本当にテキストのフォーマットを必要としません。 それが必要な人のために、しかし彼らはあまりにも怠zyです:



これは、タスク(特に、コードのフォーマット)が十分に大きい場合、自動化が長距離にわたって成功するということです。 最終的には、すべてが時間通りになります。 ただし、このタスクを手作業で行った場合と比較して、スクリプトを記述する時間+問題を解決する時間が



長い場合でも、そのようなスクリプトを記述しようとする必要があります-自動化エクスペリエンスはすべて同じです。



Xcodeでは、そうです...いいえ? 必要ありません





Xcode:に組み込まれたReindentコマンドに関する作者の意見は、コードを完全にフォーマットするには不十分です。 ただし、Xcodeで開発している多くの人はそれを使うだけです。 まだコードスタイルが残っている場合があります。 コードスタイルはどこかで説明されている場合があり、彼らはそれに従おうとします。

Re-Indentの機能はすべて、スペース/タブを正しく設定することであり、その設定はXcodeメニューの1つのタブに配置されます。

このオプションにはさまざまな設定が豊富ではありませんが、大きな利点があります。 Xcodeに組み込まれています。 何もインストールする必要はなく、インターネットをサーフィンしてスクリプトを実行する必要もありません。 コードを選択し、^ Iを押します。 たぶん、これはXcodeを積極的に防御する人々が好む部分です。



カスタムスクリプト? だから、彼らはXcode 4でなくなっていた...





はい、Xcode 3に比べ Xcode 4には多くはありませんでした。ユーザースクリプトは、Xcode 4が実行しなかったもののリストに移動するだけです。



しかし、善良な人々は考え、考え、外に出ました。 彼らはAutomatorサービスを使用し始めました。 Xcode 3のユーザースクリプトの意味は正確ではありませんが、多くのタスクを解決します。



Xcode統合



親切な人々とオープンソースのおかげで、UncrustifyをXcodeに統合することは非常に簡単な作業になりました。



Autocator Servicesを介してUncrustifyをXcodeに統合するプロジェクトはGitHubにあります



Uncrustifyを配置し(プロジェクト自体で説明したように、原則としてhomebrewを使用してuncrustifyをインストールしました)、サービススクリプトを正しいフォルダー( 〜/ Library / Services / Automator / )に配置します。 利益 すべてが正しく実行されると、Xcodeのメニューに追加のコマンドが表示され、コードをフォーマットでき、Xcodeを終了せずに使用できます。





そして、コードをハイライトして右ボタンを押すと、次のことがわかります。





次はどこ?





上記のすべての手順を完了すると、Xcodeでテキストを自動的にフォーマットできます。



次に何をするかは、以前に何が必要だったかによって異なります;)



タスクが元々コードの自動/半自動フォーマット用に設定されていた場合、 uncrustify.cfg構成ファイルのセットアップを開始する必要があります 。 uncrustifyを含むクロスプラットフォームのコードフォーマッターエディターであるUniversal Indent GUIは、これに役立ちます。



Xcodeで外部スクリプトを実装する可能性に関心がある場合は、既成の接続サービスの例を使用して試行錯誤することで、多くの有用なものを思い付くことができます。



代替案



個人的には、一度にHabréですでに記述されて いるAppCodeの方向を調べることをお勧めします。 30日間の無料期間で支払われた場合でも。 Appcodのコードフォーマットの問題は、まったく異なるレベルで解決されています。





合計



タスクがあります。 常に解決策を見つけることができます。 時々、この決定は正確であり、迅速に働き、タスクを解決します。



All Articles