ファイルを保存するときにXcodeに末尾の空白を削除させる方法はありますか?
それが重要な場合は、バージョン3.1.3を使用しています。
スクリプトを作成して、キーボードショートカットにバインドできます。
次に、次のスクリプトを入力します。
#!/usr/bin/Perl
while (<>) {
s/\s+$//;
print "$_\n";
}
Xcode 4.4以降、行がすべて空白でない限り、空白はデフォルトで自動的にトリミングされます。 Including whitespace-only lines
をアクティブにしてこれを修正することもできます。これはデフォルトではアクティブではありません。
Xcode > Preferences > Text Editing > While editing
に移動します
Mac XcodeプラグインのGoogleツールボックス を使用していますが、保存時に末尾の空白を削除する「保存時に空白を修正」パラメーターを追加します。私はemacsからそれをたくさん逃しました。
Xcode 8では、 swimat Xcodeプラグインをインストールし、Swiftコードをフォーマットしました。これにより、すべての後続スペースと空白のみの行が削除されました。
Homebrew-caskを介してインストールします。
brew cask install swimat
アプリを直接ダウンロードします。
https://github.com/Jintin/Swimat/releases/download/v1.3.5/Swimat.Zip
extension
ブランチのクローンを作成し、Macアプリにアーカイブします。
インストールしたら、Editor -> Swimat -> Format
経由でXcodeでSwimatを実行できます。
これはXcode 3.2では不可能です
編集:
これを行う方法がないので、私はこの質問に非常に簡潔に答えました適切に。
もちろん、ソフトウェアなので、何でもできます。InputManagerのハッキングや、システム全体のキーボードインターセプトへのコードインジェクションの他の方法から始めて、ローカルシステムをいつでも変更できます。 Applescriptフォルダーアクション(arrgh)を設定するか、起動デーモンとFSEvents機能を使用してソースコードファイルを監視できます。
Xcodeにいくつかのスクリプトを追加することもできます(メニューのユーザースクリプト、ターゲットのスクリプトフェーズ、オーガナイザーのカスタムアクション、スタートアップスクリプトの可能性は非常に不明です)。しかし、これらのソリューションはすべて、ユーザーまたはユーザーのマシン上のカスタムセットアップ。
私は、SCMからプロジェクトをチェックアウトした後に単純に機能するソリューションを知りません。このスクリプトや同様のカスタマイズスクリプトが必要だと考えているため、バグを報告しました(レーダー7203835、「Xcodeワークフローでのユーザースクリプトトリガーの追加」)。まだフィードバックを受け取っていません。
レーダーエントリの全文は次のとおりです。
Xcodeでスクリプトを実行する場所を増やすと便利です。
例:
ビルド前スクリプト
ビルド前スクリプトを使用して、*。xcconfigファイルやconfig.hヘッダーなどの前提条件をビルドできます。これは、ビルドフェーズがトリガーされる前に依存関係の追跡が行われるため、「スクリプトのビルドフェーズの実行」では不可能です。ビルド後スクリプト
上記と同様ですが、ビルドの完了後に実行されます(コード署名などを含む)。追加のパッケージング、有効性チェックなどに役立ちます。事前/事後SCMコミットスクリプト。
プロジェクトの整合性をチェックします。事前/事後ファイル保存スクリプト。
保存する前にファイルをチェック/変更します。例えば。コーディ美人を実行しますカスタムプロジェクトアクション。
オーガナイザーが任意のアクションを定義できることを知っています。ただし、これはユーザーごとの機能です(プロジェクトの一部ではありません)。ビルドメニューに表示され、プロジェクトの一部であるビルドやクリーンなどのアクションを定義したいと思います。
Xcode4についてはこちらをご覧ください: http://www.wezm.net/technical/2011/08/strip-trailing-whitespace-xcode-4/
クールなMac用Googleツールボックスに、Xcode4用の「空白のトリミング」オプションが追加されました。
http://code.google.com/p/google-toolbox-for-mac/downloads/list
ありがとう、Google!