Javadoc : HTML 태그없이 줄 바꿈?


81

가능한 FAQ 종류의 질문에 대해 죄송합니다.하지만 답을 찾을 수 없습니다.

Eclipse를 기억하는 한 Javadoc 주석의 빈 줄이 (소스 내 Javadoc 팝업에서) 줄 바꿈 (추가 세로 간격 포함)으로 표시됩니다.

그러나 Netbeans에서는 그렇지 않습니다.

빈 줄을 줄 바꿈으로 해석하도록 Javadoc을 구성 할 수 있습니까?

추가 질문 : 소스 내 Javadoc 팝업에 대한 기본 Netbeans 동작 (관련)을 재정의 할 수 있습니까?

내가 말하는 것은 :

출처

/**
 * Paragraph One
 *
 * Paragraph Two
 */
 void someMethod() { }

Eclipse 해석

 Paragraph One

 Paragraph Two

Netbeans 해석

 Paragraph One Paragraph Two

1
이러한 답변의 대부분은 현재 NetBeans8.2에 의해 오래되었습니다 (대체 됨). 아래 @fujy의 답변을 참조하십시오. 완벽하게 작동합니다.
Webel IT Australia-upvoter 2011

답변:


80

Netbeans와는 관련이 없습니다. 한 경우에는 소스 코드를보고 다른 경우에는 Javadoc의 출력을보고 있다고 생각합니다. 뉴 라인은 HTML에서 상당한되지 않습니다 ERGO 출력을 표시하지 않습니다. 개행을 원하면 <p>또는 <br>.


4
질문에서 언급했듯이 Eclipse 빈 줄을 단락으로 간주합니다. 내 가정이 있다는 것입니다 그래서 일부 javadoc의 구성 (넷빈즈 또는없이)하여이를 달성 할 수있을 수 있습니다.
java.is.for.desktop

Eclipse는 소스 코드를 표시하지만 형식이 지정되어 있습니다. Netbeans 6.9.1은 소스 코드도 보여줍니다. 즉, 줄 바꿈도 무시하지 않습니다. 그러나 어떤 방법 으로든 Javadoc 의 출력 을 보고있는 경우 잘못된 경우 줄 바꿈을 무시 하지 않는 것입니다.
user207421

40

이것이 OP의 경우에 도움이되는지 확실 <pre></pre>하지 않지만 netbean이 내 서식을 엉망으로 만들지 않도록 문서를 둘러 쌉니다. 그래서 그것은

/**
 * <pre>
 * Paragraph One
 *
 * Paragraph Two
 * </pre>
 */

이것은 텍스트 형식으로 새 줄을 표시하는 데 가장 가깝습니다. NetBeans 7.1.2를 사용하고 있습니다. 이 방법으로 code format옵션을 사용 하면 문서를 다시 포맷하지 않습니다. 힌트에 문서를 표시하는 것은 여전히 ​​형식입니다.

업데이트 : Netbeans 8.x에는 형식 주석을 비활성화하는 코드 형식 지정 옵션이 있습니다.


13

이미 NetBeans버전 8.2 에서 테스트 된 옵션이있어 주석에서 새 줄을 보존하고 필요한 경우 <p>태그를 추가 할 Javadoc수 있습니다.

  • 단지에서 Tools메뉴 선택Options
  • Editor탭으로 이동 한 다음 Formatting
  • 에서 Language메뉴 선택 Java및에서 Category메뉴 선택Comments
  • 주석에서 새 줄을 유지 Preserve New Lines하려면 General섹션 의 확인란을 선택 하십시오 . 태그 를 추가하지 않고 새 줄을 유지합니다.<p>
  • 확인 Generate "<p>" on Blank Lines에서 체크 박스를 Javadoc섹션 당신은 또한 추가 할 경우 <p>태그를 .

여기에 이미지 설명 입력


2
확실히 최고의 답변 wrt NetBeans 8.2. 쉬운. 그러나 코드에서 형식을 수행 할 때만 실제로 시작되도록 편집해야합니다 (기존 줄 바꿈 포함). 하나는 조심해야합니다, 이미 <p>손으로 거기에 일부 가 있다면 그것은 때때로 <p>``<p>처음 에 두 배를 더할 수 있습니다 . 그 후 예상대로 작동합니다.
Webel IT Australia-upvoter

4

동의합니다. HTML은 소스 코드에 속하지 않습니다. 슬프게도 나는 이것에 대한 인터넷 검색에 많은 도움을 얻지 못했습니다. 실제로 구현하기가 매우 쉽습니다.

컴파일하고 사용할 수있는 사용자 정의 Doclet은 다음과 같습니다.

import com.sun.javadoc.*;
import com.sun.tools.doclets.standard.*;

/**
 * Formats text-only comments with HTML.
 */
@SuppressWarnings("restriction")
public final class TextDoclet {
    private static final Pattern NEWLINE_REGEX = Pattern.compile("\\n");
    private static final String BR = "<br/>\n";

    public static boolean start(RootDoc rootDoc) {
        for ( ClassDoc classdoc : rootDoc.classes())
            classdoc.setRawCommentText(formatText(classdoc.getRawCommentText()));

        return Standard.start(rootDoc);     
    }

    private static String formatText(String text) {
        return NEWLINE_REGEX.matcher(text).replaceAll(BR);
    }
}

javadoc을 사용하여 호출하는 방법의 예 :

javadoc -docletpath ~/project/text-doclet/target/text-doclet-1.0.0-SNAPSHOT.jar -doclet com.myorg.textdoclet.TextDoclet -sourcepath ~/project/myapp/src/main/java -subpackages com.myorg.myapp

2

JavaDoc은 CSS 스타일이 정의 된 방식을 표시합니다. 이를 위해 단락 태그와 연결된 CSS 스타일을 편집 할 수 있습니다.

p {
    line-height: 25px;
}

1
감사합니다.하지만 Netbeans는 빈 줄을 단락으로 전혀 해석하지 않습니다 (제 질문의 "Netbeans 해석"참조). 즉, 줄이있는 경우에만 줄 간격을 정의 할 수 있습니다.
java.is.for.desktop

흠. 나는 것을보고. 그러나 Netbeans가 이것을 편집하는 옵션을 제공하는지 확실하지 않습니다.
adarshr

2

이것은 의사 솔루션입니다
(슬프게도 생성 된 javadoc에만 영향을 주지만 Netbeans의 소스 내 javadoc 디스플레이 에는 영향을 주지 않습니다 ).

다음을 포함하는 스타일 시트를 지정하십시오.

div.block {
    white-space: pre;
}

0

Eclipse가 여기에서 무엇을하는지 모르겠지만 일반적으로 IDE뿐만 아니라이 동작을 원하면 새 Doclet (기본 HTML doclet을 기반으로 할 수 있음)을 만들어야 할 수 있습니다 <p>. 모든 빈 줄 등.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.