Có thể sử dụng công việc đa dòng trong IntelliJ IDEA không?


90

Nếu có, làm thế nào?

Nếu không, có giải pháp nào để có được chức năng tương tự không?

BIÊN TẬP:

Ý tôi là như thế này:

// TODO line1
// line2
// line3

và line1, line2, line3 thuộc về cùng một TODOđược đánh dấu bằng màu xanh lam.


Câu trả lời:


53

Không, không phải bây giờ.

Tính năng này đã được thảo luận , nhưng chưa được triển khai.

CHỈNH SỬA / CẬP NHẬT:

Nó được triển khai trong phiên bản 2018.3.


12
Hãy dành chút thời gian theo đường dẫn đó và bình chọn vấn đề để được ưu tiên tấm vé này. Có một biểu tượng không thích bên cạnh "cử tri" ở phía bên phải.
adamdport

2
Điều này hiện đã được triển khai trong IDEA 2018.3, hiện đang ở trong EAP. blog.jetbrains.com/idea/2018/09/…
David

Và hiện có sẵn cho Android với bản phát hành Android Studio 3.4 vì nó dựa trên IDEA 2018.3
shaktiman_droid

54

Điều này được hỗ trợ kể từ năm 2018.3 .

Nhận xét CẦN LÀM nhiều dòng

Nhận xét CẦN LÀM nhiều dòng

IntelliJ IDEA 2018.3 hiện hỗ trợ các nhận xét CẦN LÀM nhiều dòng , giờ đây các dòng nhận xét CẦN LÀM đầu tiên và tiếp theo được đánh dấu trong trình chỉnh sửa và được liệt kê trong Cửa sổ CÔNG VIỆC CẦN LÀM . Chỉ cần thêm một thụt lề bắt đầu từ dòng thứ hai của nhận xét CẦN LÀM nhiều dòng của bạn và IDE sẽ phân biệt nó với một nhận xét thông thường.


Cảm ơn bạn! Rất hữu ích. Vấn đề duy nhất là khi tôi nhấp vào Ctrl-Alt-L để định dạng tệp của mình, phần thụt lề sẽ bị loại bỏ. Bất kỳ ý tưởng làm thế nào để ngăn chặn điều này?
GEP

27

Trong cài đặt của mình, tôi đang sử dụng một regex như vậy cho nhiều dòng CẦN LÀM:

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

Vấn đề duy nhất là nó không đánh dấu các ký hiệu * / cuối cùng của nhận xét nhiều dòng. Nếu ai có thể giải quyết được điều đó thì thật tuyệt!


1
Ít nhất đã tìm thấy hai lỗi tiềm ẩn (hoặc có thể là lỗi từ phía tôi) với điều này cho Android Studios. Một, vì lý do nào đó, nó ném chỉ mục repo của tôi cho một lớp duy nhất trong dự án của tôi. Lần nào cũng vậy. Xóa mục này khỏi danh sách VIỆC CẦN LÀM và nó được lập chỉ mục lại một cách thích hợp. Thứ hai, nó tạo ra sự cố StackOverflow khi IDE tải, nhưng IDE không đăng cảnh báo hoặc buộc đóng hoặc bất cứ điều gì nên tôi không chắc về mức độ nghiêm trọng. Tôi sẽ tiếp tục xem xét nó, nhưng có điều gì đó đáng nói nếu có ai khác đụng phải nó. Điều đó đang được nói, nó dường như làm như nó nên làm bên ngoài điều đó.
zgc7009

Chào bạn zgc7009! Bạn có thể vui lòng đăng ở đây nhận xét CẦN LÀM của bạn? Nhiều người nhìn thấy nó hơn - chúng tôi sẽ tìm ra vấn đề nhanh hơn :-)
NonGrate

5

Bạn có hiểu cái này không? using-todo-list

/**
 * todo multi-line
 *  
 */

2
Cảm ơn bạn đã trả lời. Điều đó sẽ tốt nếu tất cả các đường trong khối sẽ thuộc về việc làm và sẽ được đánh dấu bằng màu xanh lam. Nhưng đó là thứ gần nhất mà chúng tôi có vào lúc này.
jhegedus

5

Bạn có thể sử dụng FIXME và TODO bằng các tab như sau

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

Để biết thêm thông tin vui lòng tham khảo tài liệu


3

Dựa trên câu trả lời của NonGrate:

Đi tới cài đặt, tìm kiếm cài đặt VIỆC CẦN LÀM và thay thế mục nhập việc cần làm hiện có " \ btodo \ b. * " Bằng:

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

Kết quả:

nhập mô tả hình ảnh ở đây

Bạn phải sử dụng * / để đóng vùng đánh dấu.

Nó sử dụng 2 mẫu:

  1. (\ btodo \ b. ) ghi lại bất kỳ dòng nào có từ todo
  2. (/ \ * (\ * (?! /) | [^ *]) * \ btodo \ b (\ * (?! /) | [^ *] * \ * /) ghi lại nhiều dòng nhận xét bắt đầu bằng / * và kết thúc với */

Bất kỳ kết hợp nào khác có thể không hoạt động.

Lưu ý: Bạn phải thay thế regex hiện có để tránh có nhiều trường hợp của cùng một mục việc cần làm xuất hiện trong danh sách việc cần làm.


Chỉ cần sử dụng điều này trong IntelliJ 2017.1.3 trên Mac và nó hoạt động rất tốt. Cảm ơn!
yokeho

2
Trong Android Studio hiện nay, điều này không làm việc như @ Jeremy nói ở trên ... nhưng nó làm việc với việc sử dụng / ** thử nghiệm trước khi thử nghiệm TODO sau * /
Codeversed

3
CẢNH BÁO: Điều này chỉ đơn giản là phá vỡ IntelliJ và Android Studio thành một tỷ mảnh. Nó có đệ quy RegEx được coi gần như là một tội lỗi trong phát triển Java do cách các biểu thức RegEx được biên dịch và bạn có thể dễ dàng gây ra một SO (điều này thực sự gây ra).
mradzinski

-1

Regex này phù hợp với tôi:

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

Về cơ bản, nó tìm kiếm những điều sau:

  • Một todo hoặc TODO từ khóa tùy chọn kèm theo cụm một id vé / vấn đề trong ngoặc đơn và bất kỳ số lượng ký tự sau một nhân vật không gian màu trắng duy nhất.
  • Nhận xét java nhiều dòng bắt đầu bằng / * theo sau là bất kỳ khoảng trắng nào và sau đó là các điều kiện được nêu trong mô tả việc làm đơn dòng ở trên. Nó kết thúc khi tìm thấy * / trong bất kỳ dòng nào sau đây.

Ví dụ về một dòng:

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

Ví dụ về nhiều dòng:

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

/* TODO[SAO-13]
 * a very important message
 * another thing
*/
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.