IntelliJ IDEAで複数行のToDoを使用することは可能ですか?


90

はいの場合、どのように?

そうでない場合、同様の機能を取得するための回避策はありますか?

編集:

私が意味するのはこのようなものです:

// TODO line1
// line2
// line3

そして、LINE1、LINE2、同じに属しLINE3 TODO青で強調表示されます。


回答:


53

いいえ、現時点ではできません。

この機能については説明しましたが、まだ実装されていません。

編集/更新:

2018.3バージョンで実装されています。


12
このリンクをたどって問題に投票し、このチケットに優先順位を付けてください。右側の「投票者」の横にサムズアップアイコンがあります。
adamdport 2017年

2
これは現在IDEA 2018.3に実装されており、現在EAPになっています。blog.jetbrains.com/idea/2018/09/...
デヴィッド・

そして今、それはIDEA 2018.3に基づいているとしてのAndroid Studioの3.4リリースでのAndroidのために利用可能
shaktiman_droid

54

これは2018.3以降サポートされています

複数行のTODOコメント

複数行のTODOコメント

IntelliJ IDEA 2018.3は複数行のTODOコメントをサポートするようになり、最初と後続のすべてのTODOコメント行がエディターで強調表示され、TODOツールウィンドウにリストされます。複数行のTODOコメントの2行目からインデントを追加するだけで、IDEは通常のコメントと区別します。


ありがとうございました!非常に便利。唯一の問題は、Ctrl-Alt-Lをクリックしてファイルをフォーマットすると、インデントが削除されることです。これを防ぐ方法はありますか?
Gep

27

私の設定では、このような正規表現を複数行TODOに使用しています。

\/(\/|\*)[ ]*\btodo\b(.|\n)*(\*\/|)

唯一の問題は、複数行コメントの最後の* /記号が強調表示されないことです。誰かがそれを解決できれば、それは素晴らしいことです!


1
少なくともAndroid Studiosでは、これに関して2つの潜在的なバグ(または私の側のエラーの可能性)が見つかりました。1つは、なんらかの理由で、プロジェクト内の単一のクラスのリポジトリインデックス作成が無効になることです。毎回同じクラス。これをTODOリストから削除すると、適切にインデックスが再作成されます。次に、IDEの読み込み時にStackOverflowの問題が発生しますが、IDEは警告や強制終了などを通知しないため、重大度はわかりません。引き続き調査しますが、誰かがそれに遭遇した場合に言及する価値があります。そうは言っても、それはそれ以外ではあるべきように見えます。
zgc7009 2016

こんにちはzgc7009!TODOコメントをここに投稿していただけませんか?より多くの人々がそれを見る-より早く私たちは問題を見つけるでしょう:-)
NonGrate 2016

5

これはどういう意味ですか?使用予定リスト

/**
 * todo multi-line
 *  
 */

2
答えてくれてありがとう。これは、ブロック内のすべての行がToDoに属し、青で強調表示される場合に適しています。しかし、それは現在私たちが持っている最も近いものです。
jhegedus 2014年


3

NonGrateの答えに基づいて構築:

設定に移動し、TODO設定を検索して、既存のtodoエントリ「\ btodo \ b。*」を次のように置き換えます

(\btodo\b.*)|(\/\*(\*(?!\/)|[^*])*\btodo\b(\*(?!\/)|[^*])*\*\/)

結果:

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

ハイライトを閉じるには* /を使用する必要があります。

2つのパターンを使用します。

  1. (\ btodo \ b。 todoという単語を含む行をキャプチャします
  2. (/ \ *(\ *(?!/)| [^ *])* \ btodo \ b(\ *(?!/)| [^ *] * \ * /)は、/ *および* /で終わる

他の組み合わせでは機能しない場合があります。

注:同じToDoアイテムの複数のインスタンスがToDoリストに表示されないようにするには、既存の正規表現を置き換える必要があります。


Mac上のIntelliJ 2017.1.3でこれを使用しただけで、うまくいきました。ありがとう!
ヨークホー2017年

2
現在のAndroid Studioでは、これは上記の@Jeremyのように機能しません...しかし、/ **テストを使用する前に/ **テストを使用すると機能します* /
Codeversed

3
警告:これは単にIntelliJとAndroid Studioを10億個に分解します。RegEx再帰があり、これは、RegEx式がどのようにコンパイルされ、SOを簡単に引き起こすことができるため(実際にこれが原因)、Java開発ではほとんど罪と見なされています。
mradzinski 2017年

-1

この正規表現は私にとってはうまくいきます:

(?:(?:todo|TODO)(?:\[[A-Z,a-z]+\-\d+\])?\s(\s*\b.*\b)*)|(?:\/\*\s*(?:todo|TODO)(?:\[[A-Z,a-z]+\-\d+\])?\s(?:(?!\*\/)[\s\S])*\*\/)

それは基本的に以下を探します:

  • オプションで、大括弧で囲まれたチケット/問題IDと、単一の空白文字の後の任意の数の文字が後ろに付いたtodoまたはTODOキーワード。
  • / *で始まり、その後に任意の量の空白が続き、次に上記の1行のtodoの説明で概説されている条件に続く、Java複数行コメント 次のいずれかの行で* /が見つかると終了します。

単一行の例:

todo some very important stuff
TODO[SAOY-1376] An urgent bug fix described in the SAOY-1376
// todo some very important stuff
// TODO[SAOY-1376] An urgent bug fix described in the SAOY-1376

複数行の例:

/* todo assignee or something
    a very important message
    another thing
*/

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