IntelliJ IDEA에서 여러 줄로 된 할 일을 사용할 수 있습니까?


90

그렇다면 어떻게?

그렇지 않은 경우 유사한 기능을 얻을 수있는 해결 방법이 있습니까?

편집하다:

내가 의미하는 것은 다음과 같습니다.

// TODO line1
// line2
// line3

그리고 1 호선, 2 호선, 세 번째 줄 동일한에 속해 TODO과는 파란색으로 강조 얻을.


답변:


53

아니요, 지금은 아닙니다.

이 기능은 논의 되었지만 아직 구현되지 않았습니다.

수정 / 업데이트 :

2018.3 버전에서 구현되었습니다.


12
잠시 시간을내어 해당 링크를 따라가 문제에 투표하여이 티켓의 우선 순위를 지정하십시오. 오른쪽의 "투표자"옆에 좋아요 표시 아이콘이 있습니다.
adamdport

2
이것은 현재 EAP에있는 IDEA 2018.3에서 구현됩니다. blog.jetbrains.com/idea/2018/09/…
David

그리고 안드로이드 스튜디오 3.4 출시와 함께 이제 안드로이드 사용할 수 그것은 IDEA 2018.3을 기반으로
shaktiman_droid

58

이것은 2018.3부터 지원됩니다 .

여러 줄로 된 TODO 주석

여러 줄로 된 TODO 주석

IntelliJ IDEA 2018.3은 이제 여러 줄의 TODO 주석을 지원합니다 . 이제 첫 번째 및 모든 후속 TODO 주석 줄이 편집기에서 강조 표시되고 TODO 도구 창에 나열됩니다 . 여러 줄로 된 TODO 주석의 두 번째 줄부터 들여 쓰기를 추가하면 IDE가이를 일반 주석과 구분합니다.


감사합니다! 매우 유용한. 유일한 문제는 Ctrl-Alt-L을 클릭하여 파일 형식을 지정하면 들여 쓰기가 제거된다는 것입니다. 이것을 방지하는 방법을 아십니까?
Gep

27

내 설정에서 여러 줄 TODO에 대해 다음과 같은 정규식을 사용하고 있습니다.

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

유일한 문제는 여러 줄 주석의 마지막 * / 기호를 강조 표시하지 않는다는 것입니다. 누구나 해결할 수 있다면 좋을 것입니다!


1
Android Studios에서 적어도 두 가지 잠재적 버그 (또는 내 부분의 오류)를 발견했습니다. 하나, 어떤 이유로 내 프로젝트의 단일 클래스에 대한 리포지토리 인덱싱을 중단합니다. 매번 같은 수업. TODO 목록에서이 항목을 제거하면 적절하게 다시 색인화됩니다. 둘째, IDE가로드 될 때 StackOverflow 문제가 발생하지만 IDE가 경고 나 강제 종료 등을 게시하지 않으므로 심각성을 확신 할 수 없습니다. 나는 그것을 계속 조사 할 것이지만, 다른 누군가가 그것에 부딪히면 언급 할 가치가있는 것. 즉, 그것은 그것 밖에서해야하는 것처럼 보인다.
zgc7009

안녕하세요 zgc7009! 여기에 TODO 댓글을 게시 해 주시겠습니까? 더 많은 사람들이 그것을 볼 - 빨리 우리가 문제 :-) 찾을 수
NonGrate

5

이게 무슨 뜻이야? 할 일 목록 사용

/**
 * todo multi-line
 *  
 */

2
답변 감사합니다. 블록의 모든 줄이 할 일에 속하고 파란색으로 강조 표시되면 좋을 것입니다. 그러나 그것은 현재 우리가 가지고있는 가장 가까운 것입니다.
jhegedus

5

다음과 같이 탭을 사용하여 FIXME 및 TODO를 사용할 수 있습니다.

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

자세한 내용은 설명서 를 참조하십시오.


3

NonGrate의 답변을 바탕으로 :

설정으로 이동하여 TODO 설정을 검색하고 기존 할 일 항목 " \ btodo \ b. * "를 다음으로 바꿉니다 .

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

결과:

여기에 이미지 설명 입력

강조 표시를 닫으려면 * /를 사용해야합니다.

2 가지 패턴을 사용합니다.

  1. (\ btodo \ b. ) 는 todo라는 단어가 포함 된 모든 줄을 캡처합니다 .
  2. (/ \ * (\ * (?! /) | [^ *]) * \ btodo \ b (\ * (?! /) | [^ *] * \ * /) 는 / * 및 * /로 끝남

다른 조합은 작동하지 않을 수 있습니다.

참고 : 할 일 목록에 동일한 할 일 항목의 여러 인스턴스가 표시되는 것을 방지하려면 기존 정규식을 바꿔야합니다.


Mac의 IntelliJ 2017.1.3에서 이것을 사용했으며 훌륭하게 작동했습니다. 감사!
yokeho

2
현재 Android Studio에서 이것은 @Jeremy가 위에서 말한 것처럼 작동하지 않습니다 ... 그러나 TODO 테스트 전에 / ** 테스트를 사용하여 작동합니다 * /
Codeversed

3
경고 : 이것은 단순히 IntelliJ와 Android Studio를 수십억 조각으로 나눕니다. RegEx 표현식이 컴파일되는 방법과 SO를 쉽게 유발할 수 있기 때문에 Java 개발에서 거의 죄로 간주되는 RegEx 재귀가 있습니다.
mradzinski

-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 키워드.
  • / *로 시작하는 자바 여러 줄 주석 뒤에 임의의 양의 공백과 위의 한 줄 작업 설명에 요약 된 조건이 이어집니다. 다음 행 중 하나에서 * / 를 찾으면 종료됩니다 .

한 줄 예 :

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.