[eclipse] Eclipse의 Java 코드 포맷터가 블록 주석을 무시하도록 만들기

Eclipse의 내장 Java 코드 포맷터가 주석을 무시하도록하는 방법이 있습니까? 실행할 때마다 다음과 같이 바뀝니다.

    /*
     * PSEUDOCODE
     * Read in user's string/paragraph
     *
     * Three cases are possible
     * Case 1: foobar
     *         do case 1 things
     * Case 2: fred hacker
     *         do case 2 things
     * Case 3: cowboyneal
     *         do case 3 things
     *
     * In all cases, do some other thing
     */

이것으로 :

    /*
     * PSEUDOCODE Read in user's string/paragraph
     *
     * Three cases are possible Case 1: foobar do case 1 things Case 2: fred
     * hacker do case 2 things Case 3: cowboyneal do case 3 things
     *
     * In all cases, do some other thing
     */

이미 Windows> Preferences> Java> Code Style> Formatter 설정을 사용해 보았지만 주석 형식을 유지하기위한 설정을 찾을 수 없습니다. Eclipse 3.4.0을 사용하고 있습니다.



답변

업데이트 2010, OP이 답변에서 지적했듯이// @formatter:off Eclipse 3.6 의 특수 문자열 이면 충분합니다.

질문 당시에는 사용할 수 없었습니다 .


원래 답변 : 2009 년 6 월, Eclipse 3.4 / 3.5

Java Formatter ( Windows > Preferences > Java > Code Style > Formatter)를 사용하여 새 Formatter 프로필을 만들 수 있습니다.

주석 탭 (eclipse3.5)에서 ” Javadoc comment settings“에서 ” Format HTML tags“의 선택을 취소 할 수 있습니다 .
은 “또한 확인 Never join lines“에서 ” General settings“절을 참조하십시오.

그런 다음 귀하의 의견은 다음과 같이 작성해야합니다.

/**
 * PSEUDOCODE
 * Read in user's string/paragraph
 *
 * Three cases are possible:
 * <dl>
 *   <dt>Case 1: foobar</dt>
 *     <dd>        do case 1 things</dd>
 *   <dt>Case 2: fred hacker</dt>
 *     <dd>        do case 2 things</dd>
 *   <dt>Case 3: cowboyneal</dt>
 *     <dd>        do case 3 things</dd>
 * </dl>
 * In all cases, do some other thing
 */

참고 : 간단한 주석이 아닌 Javadoc 주석 을 작성했습니다. 그 정도의 텍스트가 포함 된 주석이 메소드 앞에 배치되는 것이 더 낫다고 생각하기 때문입니다. 또한 Javadoc 섹션에는 더 많은 형식 지정 매개 변수가 있습니다.
이 방법 (참 자바 독)의 전면에있는 경우, HTML 태그 <dl>, <dt><dd> Javadoc을보기 내에서 적절하게 제시하는 데 도움이 될 것입니다.


답변

특정 블록 주석의 형식을 억제하는 데 사용할 수있는 또 다른 솔루션이 있습니다. 사용 /*-블록 주석의 시작에서 (하이픈 주), 당신은 파일의 나머지를 포맷하면 포맷이 영향을받지 않습니다.

/ *-
 * 여기에 매우 특별한 블록 주석이 있습니다.
 * indent (1) 무시하고 싶은 서식.
 *
 * 하나
 * 두
 * 세
 * /

출처 : http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-141999.html#350


답변

동료로부터 Eclipse가이를 위해 사용할 수있는 특수 서식 태그를 제공한다는 것을 방금 배웠습니다.

// @formatter:off
/*
 * ╔════════╦═══════╦══════════╗
 * ║ Month  ║ Sales ║ Position ║
 * ╠════════╬═══════╬══════════╣
 * ║ June   ║ 44k   ║ 2nd      ║
 * ║ July   ║ 39k   ║ 2nd      ║
 * ║ August ║ 49k   ║ 4th      ║
 * ╚════════╩═══════╩══════════╝
 *
 * This comment shouldn't be formatted, and will now be ignored by the formatter.
 */
// @formatter:on

기본 설정 메뉴 → Java> 코드 스타일> 포맷터를 통해이 기능을 수동으로 활성화하고 편집을 클릭 하고 끄기 / 켜기 태그 탭을 선택하고 끄기 / 켜기 태그 활성화 ( 소스 )를 선택해야 할 수 있습니다.

문자열에 대한 빠른 구글 @formatter은 : 오프 에 나를 데리고 이 다른 SO 응답 코드 블록에 대한 포맷터를 비활성화의 맥락에서이 기능을 언급. 줄 주석, “일반”블록 주석 및 Javadoc 블록 주석에서도 작동 함을 확인했습니다.


답변

또 다른 가능성은 Javadoc에서 HTML의 <pre>를 사용하는 것입니다.

/**
 * <pre>
 *    this
 *   is
 *      kept
 *  as
 *    is
 * </pre>
 */

적어도 이것은 소스 코드 주석에 ASCII 아트를 삽입하는 경향이 있습니다. 🙂


답변

<pre> </pre>태그로 특정 텍스트를 둘러 쌉니다 .


답변

Eclipse 3.4 : Preferences, Java-> Code Style-> Formatter, 프로필 편집, 주석 탭. 주석 서식을 제어하기위한 많은 옵션이 있습니다.


답변

Eclipse에서 형식 지정을 억제하려면 형식화되지 않도록 의도 된 콘텐츠를 항상 <pre>UNFORMATTED CONTENT</pre>태그 로 래핑 할 수 있습니다 . Javadoc 포맷터는 해당 태그를 감지하고 해당 태그 사이의 모든 것을 형식화하지 않은 상태로 둡니다.

장점 :

  • 나머지 Javadoc은 여전히 ​​형식화되어 있습니다.
  • Javadoc의 html 출력도 사전 태그로 인해 “형식이 지정되지 않음”입니다.

단점 :

  • 하나를 보지 못함