121

ファイルを保存するときに Xcode に末尾の空白を強制的に削除させる方法はありますか?

問題がある場合は、バージョン 3.1.3 を使用しています。

4

8 に答える 8

277

Xcode 4.4 以降では、行がすべて空白でない限り、空白はデフォルトで自動的に削除されます。これを修正するためにアクティブ化することもできますがIncluding whitespace-only lines、これはデフォルトではアクティブ化されていません。

に行くXcode > Preferences > Text Editing > While editing

Xcode 設定のスクリーンショット

于 2012-08-06T14:15:12.567 に答える
25

Google Toolbox For Mac Xcode Pluginを使用しています。保存時に末尾の空白を削除する「保存時に正しい空白」パラメータを追加します。私はemacsからそれをたくさん逃しました。

于 2010-04-13T09:37:45.333 に答える
24

スクリプトを作成してキーボード ショートカットにバインドできます。

  • [スクリプト メニュー] > [ユーザー スクリプトの編集...] を選択します。
  • +ボタンを押して、新しいシェルスクリプトを選択します
  • 「Strip Trailing Spaces」のような名前を付けて、⌃⇧R のようなショートカットを付けます。
  • 入力を「選択」に、出力を「選択の置換」に設定します。

次に、次のスクリプトを入力します。

#!/usr/bin/perl

while (<>) {
    s/\s+$//;
    print "$_\n";
}
于 2009-09-08T06:11:28.213 に答える
4

@MartinStolz が提案するように新しいものを使用するAutomatically trim trailing whitespace -> Including whitespace-only linesと、編集中にうまく機能しますが、編集していないときにCmd+ a-> Ctrl+iを実行して、ファイルにフォーカスを合わせてファイルを複数回保存する必要がある場合があります。

.mdスクリプトを使用せずにプロジェクト全体 (ファイルを除く) をクリーンアップする場合は、 Find & Replace -> Regular Expression. この手法ではドキュメント/コメントの末尾のスペースとタブも削除されるため、ブラックリストに登録された文字の否定先読みを試して、1 行のコメントを除外することもできます。

末尾の空白をすべて検索します。

[\t ]+$

1 行のコメントに触れずに末尾の空白を検索します。

^(?!.*\\\\)[\t ]+$

交換:

<nothing>

swiftlint autocorrectそのため、リンティングは、サードパーティのソリューションなしで、または類似のサードパーティ ソリューションなしで実行することもできます。

于 2021-03-31T21:01:27.037 に答える
1

これはXcode3.2では不可能です

編集:

これを適切に行う方法がないため、私はこの質問に簡単に答えました。

もちろん、それはソフトウェアなので、何でもできます。InputManagerのハッキングや、システム全体のキーボードインターセプトへのコードインジェクションの他の方法から始めて、いつでも何でもできるようにローカルシステムを変更できます。Applescriptフォルダアクション(arrgh)を設定するか、起動デーモンとFSEvents機能を使用してソースコードファイルを監視することができます。

Xcodeにいくつかのスクリプトを追加することもできます(メニューのユーザースクリプト、ターゲットのスクリプトフェーズ、オーガナイザーのカスタムアクション、スタートアップスクリプトの可能性は非常に不明です)が、これらのソリューションにはすべて欠陥があります。ユーザーまたはユーザーのマシンでのカスタムセットアップ。

SCMからプロジェクトをチェックアウトした後に単純に機能するソリューションを私は知りません。これと同様のカスタマイズスクリプトが必要だと思うので、バグを報告しました(レーダー7203835、「機能:Xcodeワークフローでのユーザースクリプトトリガーの増加」)。まだフィードバックはありません。

レーダーエントリの全文は次のとおりです。

Xcodeでスクリプトを実行する場所を増やすと便利です。

例:

  1. ビルド
    前スクリプトビルド前スクリプトは、*。xcconfigファイルやconfig.hヘッダーなどの前提条件をビルドするために使用できます。「スクリプトビルドフェーズの実行」では、ビルドフェーズがトリガーされる前に依存関係の追跡が行われるため、これは不可能です。

  2. ビルド後のスクリプト
    上記と同様ですが、ビルドの完了後に実行されます(コード署名などを含む)。追加のパッケージング、有効性チェックなどに役立ちます。

  3. 前後のSCMコミットスクリプト。
    プロジェクトの整合性をチェックします。

  4. 事前/事後ファイル保存スクリプト。
    保存する前にファイルをチェック/変更します。たとえば、codybeautifiersを実行します

  5. カスタムプロジェクトアクション。
    私は、主催者が任意のアクションを定義できることを知っています。ただし、これはユーザーごとの機能です(プロジェクトの一部ではありません)。ビルドメニューに表示され、プロジェクトの一部であるビルドやクリーンなどのアクションを定義したいと思います。

于 2009-09-07T19:22:32.950 に答える
1

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

ありがとう、グーグル!

于 2011-11-09T16:32:22.237 に答える