39

Xcodeによって自動生成されたコードは、デフォルトで同じ行に開始中括弧があるようです。

@interface Controller : NSObject {

}

次のように、独自のラインのオープニングブレースが必要です。

@interface Controller : NSObject 
{

}

これは一般に、Xcodeによって自動生成されたすべてのメソッド/クラスに適用されます。Xcodeの設定で、「インデントソロ{by」を0に設定しています。 代替テキスト

どうすればこれを修正できますか?

4

6 に答える 6

22

Xcode 3.x の場合、以下を使用できます。 ターミナル セッションを開いて入力
defaults write com.apple.Xcode XCCodeSenseFormattingOptions '{ "BlockSeparator" = "\n" ; }'
すると、新しい行で新しいコード ブロックが開始されます。新しいデフォルトを読み取って使用するには、XCode を開いている場合は再起動する必要があることに注意してください。

Xcode 4.x から 6.x (現在) の場合、Xcode オートコンプリートを定義するスニペットを編集するための便利なツールとしてSnippet Editを使用することをお勧めします。現時点では無料で、うまく機能します。

于 2010-05-07T11:32:53.303 に答える
8

New ProjectおよびNew Fileコマンドは、実際にはコードを生成しません彼らはテンプレートに記入します。

必要な変更を加えた独自のテンプレート (おそらく Apple のテンプレートに基づく) を作成する必要があります。

Xcode 3.1では、ストック テンプレートは/Developer/Library/Xcode. 変更したコピーを に配置します~/Library/Application Support/Developer/Shared/Xcode。これらのフォルダーのサブフォルダーに注意してください。

于 2008-12-25T18:51:13.060 に答える
7

これを読んでください: XCCodeSenseFormattingOptions

このドキュメントでは、オートコンプリートがブレースと引数のスタイルに使用するすべての書式設定オプションについて説明します。これが私のものです:

    XCCodeSenseFormattingOptions =     {
    BlockSeparator = "\\n";
    PreMethodDeclSpacing = "";
};
于 2008-12-25T18:08:36.750 に答える
7

これは私も見たいものです。関数やループ制御と同じ行にある中括弧の「新しい学校」の方法は好きではありません。

コード行を編集してシャッフルするときは、関連するすべてを 1 行にまとめた方が簡単です。中括弧はスコープのみを定義する必要があり、関数定義やプログラム実行の一部ではありません (if、for などの場合と同様)。

すべてのテンプレートを変更することは実際には良い解決策ではありませんが、とにかく情報をありがとう.

于 2009-11-04T14:56:16.193 に答える
3

すべての状況で好みのスタイルを維持したい場合は、Laughing_Jack の回答と Peter Hosey の回答を組み合わせる必要があります。Peter Hosey の発言に加えて、Cocoa Touch ファイル テンプレートが次の場所にあることも知っておくとよいでしょう。そのディレクトリをカスタム テンプレートにコピーすることもできます。

/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/File Templates/Cocoa Touch Classes/

Xcode User Defaults は、手でコードを入力する際のスタイルを提供し、ファイル テンプレートは、新しいクラスを自動生成する際などに提供します。

于 2011-02-09T15:11:48.040 に答える
0

「defaults write com.apple.Xcode」は最新バージョンの Xcode (7.x) では機能しないと思います。

回避策は、デフォルトのコード スニペットを編集することです。

ただし、Xcode ではデフォルトのコード スニペットを変更することはできません。

それらを変更するには、ここから「Snippet Edit」プログラムをダウンロードできます。

于 2015-12-10T23:09:07.090 に答える