Apakah mungkin menggunakan multiline todo's di IntelliJ IDEA?

90

Jika ya, bagaimana caranya?

Jika tidak, apakah ada solusi untuk mendapatkan fungsi serupa?

EDIT:

Yang saya maksud adalah sesuatu seperti ini:

// TODO line1
// line2
// line3

dan baris1, baris2, baris3 milik yang sama TODOdan disorot dengan warna biru.

jhegedus.dll
sumber

Jawaban:

53

Tidak, tidak untuk saat ini.

Fitur ini telah dibahas , tetapi belum diterapkan.

EDIT / PERBARUI:

Ini diimplementasikan pada versi 2018.3.

Gallal
sumber
12
Harap luangkan waktu sejenak untuk mengikuti tautan itu dan berikan suara tentang masalah tersebut untuk memprioritaskan tiket ini. Ada ikon jempol di sebelah "pemilih" di sisi kanan.
adamdport
2
Ini sekarang diimplementasikan di IDEA 2018.3, saat ini di EAP. blog.jetbrains.com/idea/2018/09/…
David
Dan sekarang tersedia untuk Android dengan rilis Android Studio 3.4 karena didasarkan pada IDEA 2018.3
shaktiman_droid
59

Ini didukung sejak 2018.3 .

Komentar multiline TODO

Komentar multiline TODO

IntelliJ IDEA 2018.3 sekarang mendukung banyak komentar TODO , sekarang baris komentar TODO pertama dan berikutnya disorot di editor dan terdaftar di Jendela Alat TODO . Cukup tambahkan indentasi mulai dari baris kedua komentar multiline TODO Anda, dan IDE akan membedakannya dari komentar biasa.

congusbongus
sumber
Terima kasih! Sangat berguna. Satu-satunya masalah adalah ketika saya mengklik Ctrl-Alt-L untuk memformat file saya, indentasi dihapus. Ada ide bagaimana mencegahnya?
Gep
27

Dalam pengaturan saya, saya menggunakan regex untuk multiline TODO:

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

Satu-satunya masalah adalah tidak menyorot simbol * / terakhir dari komentar banyak garis. Jika ada yang bisa menyelesaikannya, itu akan bagus!

NonGrate
sumber
1
Menemukan dua bug potensial (atau kemungkinan kesalahan di pihak saya) dengan ini setidaknya untuk Android Studios. Satu, untuk beberapa alasan, itu membuang pengindeksan repo saya untuk satu kelas dalam proyek saya. Kelas yang sama juga setiap saat. Hapus ini dari daftar TODO dan indeks ini diindeks ulang dengan benar. Kedua, ini menciptakan masalah StackOverflow saat IDE dimuat, tetapi IDE tidak memposting peringatan atau tutup paksa atau apa pun jadi saya tidak yakin tingkat keparahannya. Saya akan terus memeriksanya, tetapi sesuatu yang layak disebutkan jika ada orang lain yang mengalaminya. Yang sedang berkata, tampaknya melakukan sebagaimana mestinya di luar itu.
zgc7009
Hai zgc7009! Bisakah Anda memposting komentar TODO Anda di sini? Lebih banyak orang melihatnya - lebih cepat kita akan menemukan masalahnya :-)
NonGrate
5

Maksudmu ini? menggunakan daftar agenda

/**
 * todo multi-line
 *  
 */
yanyu
sumber
2
Terima kasih atas jawabannya. Itu akan bagus jika semua baris di blok akan menjadi milik rencana dan akan disorot dengan warna biru. Tapi itu hal terdekat yang kami miliki saat ini.
jhegedus
5

Anda dapat menggunakan FIXME dan TODO menggunakan tab sebagai berikut

//FIXME: first line
//<tab> second line
//<tab> third line

Untuk informasi lebih lanjut silakan lihat dokumentasi

Baimyrza Shamyr
sumber
3

Membangun jawaban NonGrate:

Masuk ke pengaturan, cari pengaturan TODO, dan ganti entri rencana yang ada " \ btodo \ b. * " Dengan:

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

Hasil:

masukkan deskripsi gambar di sini

Anda harus menggunakan * / untuk menutup sorotan.

Ini menggunakan 2 pola:

  1. (\ btodo \ b. ) menangkap baris apa pun dengan kata todo
  2. (/ \ * (\ * (?! /) | [^ *]) * \ btodo \ b (\ * (?! /) | [^ *] * \ * /) menangkap komentar multi baris yang dimulai dengan / * dan diakhiri dengan * /

Kombinasi lain mungkin tidak berfungsi.

Catatan: Anda harus mengganti regex yang ada untuk menghindari beberapa contoh item rencana yang sama muncul di daftar rencana.

pemburu
sumber
Baru saja menggunakan ini di IntelliJ 2017.1.3 di Mac dan berfungsi dengan baik. Terima kasih!
yokeho
2
Di Android Studio saat ini, ini tidak berfungsi seperti yang dikatakan @Jeremy di atas ... tetapi berfungsi dengan menggunakan / ** pengujian sebelum pengujian TODO setelah * /
Codeversed
3
PERINGATAN: Ini hanya memecah IntelliJ dan Android Studio menjadi satu miliar bagian. Ini memiliki rekursi RegEx yang dianggap hampir sebagai dosa dalam pengembangan Java karena bagaimana ekspresi RegEx dikompilasi dan betapa mudahnya Anda dapat menyebabkan SO (yang memang ini penyebabnya).
mradzinski
-1

Regex ini berfungsi untuk saya:

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

Ini pada dasarnya mencari yang berikut:

  • Kata kunci todo atau TODO secara opsional diakhiri dengan ID tiket / masalah dalam tanda kurung dan sejumlah karakter setelah satu karakter spasi.
  • Komentar multi baris java yang dimulai dengan / * diikuti dengan sejumlah spasi kosong, lalu kondisi yang diuraikan dalam deskripsi rencana satu baris di atas. Ini berakhir setelah menemukan * / di salah satu baris berikut.

Contoh satu baris:

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

Contoh multi-baris:

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

/* TODO[SAO-13]
 * a very important message
 * another thing
*/
Martynas Petuska
sumber