「To Do」コメントをXcodeでマークするにはどうすればよいですか?


111

現在、iOSベースの画像操作タスクに取り組んでいます。

問題:

さまざまなモジュールに取り組んでいます。したがって、今後モジュールに何かを追加する必要がある場合は、それをTo Doノートとしてマークしたいと思います。Xcodeでメモを追加する他のマクロまたは同様のものはありますか?

私は試した:

このため、現在私は次の#pragmaように使用しています:

#pragma mark -
#pragma mark To do: Add the Image processing methods.

私は得ました:

ただし、次のようにメソッドセクションにリストされます。

すること

私が実際に必要なもの:

問題は、それがメソッドリストの下にリストされているため、セクションからこれを削除するのを忘れたこともあり、ソースコード全体でそれを見つけるのが非常に難しいということです。(リスト全体を表示するための#pragmaの結果の検索)

技術的な詳細:

Xcodeバージョン4.6.2を使用しています。


Xcodeがすべてのメソッド、プラグママーク、TODOアノテーションを一覧表示する特定のビューにどのようにしてアクセスしますか?
Mischa 2014年

@Mischa:私の答えを確認してください。これはメソッドリストバーの下にあります。
Midhun MP 2014年

私はあなたの答えを確認しましたが、そのポップアップを表示する方法のヒントは見つかりませんでした。しかし、私はそれを今見つけたと思います。それは、その「ナビゲーション」バーのコードエディターの上にありますよね?
ミーシャ2014年

ところで:プロジェクトのすべてのTODOを一度に表示する方法はありますか?
Mischa 2014年

@Mischa:はい、それはコードエディターの上部にあり、私の知る限りでは、コメント全体を一度に表示する方法はありません(プロジェクト全体を検索するのではなく)
Midhun MP

回答:


133

わかった。

次のようなコメントを書く:

// TODO: Do something

トリックを行います。

私は次のようなものを得ました:

すること


また、次のようなオプションがたくさんあります

  1. // FIXME: Midhun

  2. // ???: Midhun

  3. // !!!: Midhun

  4. // MARK: Midhun

16
// FIXME:または#warningを使用することもできます。#warningを使用すると、Xcodeで警告が表示され、その部分に直接ジャンプできます。
Brush51 2013年

6
@ Dev2rightsがあなたの1時間前に投稿したものではありませんか?なぜ彼の答えを受け入れないのですか?
trojanfoe 2013年

@trojanfoe:はい。しかし、// MARK:と#warningの方がより適切な解決策を得ました。だから私はそれを受け入れませんでした
Midhun MP

1
まあ// FIXME// MARK#warning同じではありません// TODOあなたの質問に答えていないし、そのようにします。
trojanfoe 2013年

1
@Domsou:現在、リストされているオプション以外に使用できるオプションはありません。回答があれば更新します。
Midhun MP 2013年

129
// TODO: the thing todo

todoタスクを表示する方法です。


10
を使用// FIX: Everything crashes all the timeして、ジャンプバーを使用して問題を生成するコードの部分に簡単に戻ることができます。
Maarten 2013年

不思議なことにこれを使用すると、XCode 5.1.1のコメントが表示されません
loretoparisi

ここで関連があると思われる2つのマーカーは、#warningと#errorです。i.imgur.com/KVjrVwG.png
Zane Helton

3
Nitpick://との間にスペースを入れTODO:ます。例: // TODO: Read this from prefs。SwiftとObjective C言語のドキュメントを確認すると、このスペースの慣習はかなり一貫して守られています。
ジェフロ2016年

43

を使用して

//TODO: some thing here

ドロップダウンでToDoリストを確認するだけの場合に機能します

侵入したい場合#warningは、代わりにマークを使用できます。

#warning this will create a compiler warning.

アプリをビルドすると、コンパイラーの警告(コンパイラーのエラーではなく黄色の三角形)が表示されます。これは、やらなければならないことを思い出させることについて、もう少し "目の前に"あります。


#warningコンパイル時に警告するので、私は最良の解決策だと思います。ありがとう
ダック

36

以下のスクリプトを使用すると、警告などの必要なすべてのタグを確認できます。

  1. プロジェクトナビゲーターでプロジェクトを選択します
  2. サイドバーでターゲットを開き、「ビルドフェーズ」タブに移動します
  3. 「+」記号をクリックします
  4. [新しい実行スクリプトのビルドフェーズ]を選択します スクリプトの追加
  5. 以下のスクリプトを「スクリプトの実行」に追加します 準備スクリプト 。スクリプト:

    KEYWORDS="TODO:|FIXME:|DevTeam:|XXX:"
    find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/ warning: \$1/"

ここに画像の説明を入力してください

元の答えはここから取られました

別の代替手段は、Xcode用のXToDoプラグインです。


素晴らしい解決策、すべてのポッドファイルを除外する方法はありますか?私の使用する拡張機能には、いくつかのTodosまたはMixmesがありますか?
マルコウェーバー、

この記事では自分で解決策たstackoverflow.com/q/37157027/6003494をスクリプトは次のとおりです。KEYWORDS="TODO:|FIXME:|\?\?\?:|\!\!\!:" find "." \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "./Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/ warning: \$1/"
マルコ・ウェーバー

6

XToDoプラグインを使用できます

https://github.com/trawor/XToDo

ctrl + tを使用してリストウィンドウのオン/オフをトリガーします

ctrl + tを使用してリストウィンドウのオン/オフをトリガーします

ツールバーの例

アルカトラズによる簡単なインストールctrl + tを使用してリストウィンドウのオン/オフをトリガーします


1
それを示唆するためにスクロールダウンしていた、完全にお勧めします。
MANIAK_dobrii

6

私が始めた

// TODO: Implement bubble sort

それから私は大きなプロジェクトに参加しました、そして時々私はWIPコミットよりも長く生きるtodoを必要としました、それで私のtodoを私のイニシャルで私の名前を私の同僚と区別するために私はtodoに名前を付けました:

// TODO: SM: Implement bubble sort

時々私はより多くの可視性を望んだので、私はいくつかの場所でプラグマ警告を使い始めました。

#warning Implement bubble sort

ある日-Werror、cflags にハードモードを追加することにしました。残念ながら、これはコンパイルを妨げるため、プラグマ警告を役に立たなくします。そして、// TODO:ジェフナドーから、

-Wno-error=#warnings

プラグマ警告をエラーとして扱わないように、私のcflagsで。だから今#warning-Werror一緒に暮らすことができます。


3

私は正確に// TODO:Blah blah blahと書く傾向があります

次に、COMMAND-SHIFT-Fを実行して「// TODO」を探します。

ファイルアウトラインドロップダウンを使用すると、現在のファイルのTODOのみが表示されますが、プロジェクトのTODOステータスを確認する傾向があります。

大まかな解決策ですが、それは仕事です。


2

私は自分で使用するために、認識されたトークンを警告とエラーに分割しました。

KEYWORDS="STUB:|WARNING:|TODO:|FIXME:|DevTeam:|\?\?\?:" 
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: warning: \$1/"

KEYWORDS="ERROR:|XXX:|\!\!\!:" 
find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: error: \$1/"
ERROR_OUTPUT=`find "${SRCROOT}" \( -name "*.h" -or -name "*.m" -or -name "*.swift" \) -not -path "${SRCROOT}/Pods/*" -print0 | xargs -0 egrep --with-filename --line-number --only-matching "($KEYWORDS).*\$" | perl -p -e "s/($KEYWORDS)/1: error: \$1/"`

exit ${#ERROR_OUTPUT}

0

別のシンプルな方法は、ボックスの少し外側にあり、メソッドリストバーを混乱させたくない場合は、コメント内で規則を使用する//Todo:ことです。そして検索//Todo:

メソッドドロップダウンがspagetti-codeのように見えないので、これを好みます。そして、はい、私はしばしばTodoをたくさん持っています:;)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.