Jak wyodrębnić komentarze JavaDoc z plików źródłowych Java? a także sformatować je tak, jak chcę?Jak wyodrębnić komentarze JavaDoc z plików źródłowych
Odpowiedz
Zobacz Doclets odcinek Javadoc Tool Home Page dla standardowego podejścia.
Doclets Standardowa doclet generuje kod HTML i jest wbudowane narzędzie Javadoc. Inne dokumenty opracowane przez oprogramowanie Java są wymienione tutaj. ..
Patrz zwłaszcza Example - Subclassing the Standard Doclet & Doclet API.
Generowanie je za pomocą: javadoc * .java a następnie przepisać stylesheet.css jak chcesz ...
Alternatywnie można rozważyć napisaną przeze mnie klasę o nazwie FilteredLineIterator
, której można użyć do skasowania wszystkich linii JavaDoc z pliku źródłowego.
(Ta odpowiedź jest podobna do tej, którą napisał w this question).
FilteredLineIterator
jest iterator ciąg, który filtruje (utrzymuje lub zablokowanie) elementy w innym iteracyjnej, opiera się na „podmioty” (pojedyncza linia , blokowe i "ukradkowe" bloki), w których każda linia istnieje. Linie zatrzymane można opcjonalnie modyfikować.
(FilteredLineIterator
jest częścią XBN-Java Słoiki mogą być pobrane here..)
Przykład góry i konfiguracja:
import com.github.xbn.linefilter.FilteredLineIterator;
import com.github.xbn.linefilter.KeepUnmatched;
import com.github.xbn.linefilter.Returns;
import com.github.xbn.linefilter.entity.BlockEntity;
import com.github.xbn.linefilter.entity.EntityRequired;
import com.github.xbn.linefilter.entity.KeepMatched;
import com.github.xbn.linefilter.entity.NewBlockEntityFor;
import com.github.xbn.linefilter.entity.NewStealthBlockEntityFor;
import com.github.xbn.linefilter.entity.StealthBlockEntity;
import com.github.xbn.testdev.GetFromCommandLineAtIndex;
import com.github.xbn.util.IncludeJavaDoc;
import java.util.Iterator;
/**
<P>{@code java ExtractAllJavaDocBlockTextRaw examples\com\github\xbn\examples\linefilter\JavaClassWithOneCommentAndTwoJavaDocBlocks_input.txt}</P>
**/
public class ExtractAllJavaDocBlockTextRaw {
public static final void main(String[] cmd_lineParams) {
//Example setup:
Iterator<String> rawInputLineItr = GetFromCommandLineAtIndex.fileLineIterator(
cmd_lineParams, 0,
null); //debugPath
Odcinek główny rozpoczyna poniżej. Bloki JavaDoc są zdefiniowane jako block entity, gdzie zachowywane są tylko linie środkowe (nie początkowe i końcowe). Aby zapobiec błędnym błędom "linii końcowej znalezionej przed otwarciem bloku" - ponieważ wiersz końcowy dla komentarzy wielowierszowych JavaDoc i "normalnych" (innych niż JavaDoc) to */
- a stealth block dla zwykłych wielowierszowych komentarzy należy zadeklarować.
Iterator surowej linii wejściowej i obie jednostki są podawane do przefiltrowanego iteratora linii.
StealthBlockEntity javaMlcBlock = NewStealthBlockEntityFor.javaComment(
"comment", IncludeJavaDoc.NO,
null, //dbgStart (on=System.out, off=null)
null, //dbgEnd
KeepMatched.NO, EntityRequired.YES, null,
null); //dbgLineNums
BlockEntity javaDocBlock = NewBlockEntityFor.javaDocComment_Cfg(
"doccomment",
null, //dbgStart
null, //dbgEnd
EntityRequired.YES, null,
null). //dbgLineNums
keepMidsOnly().build();
FilteredLineIterator filteredItr = new FilteredLineIterator(
rawInputLineItr, Returns.KEPT, KeepUnmatched.NO,
null, null, //dbgEveryLine and its line-range
javaMlcBlock, javaDocBlock);
while(filteredItr.hasNext()) {
System.out.println(filteredItr.next());
}
}
}
wyjściowa (plik wejściowy jest w dolnej części tej odpowiedzi post):
<P>The main class JavaDoc block.</P>
<P>Constructor JavaDoc block</P>
* <P>Function JavaDoc block.</P>
* <P>This function does some stuff.</P>
* <P>Lots and lots of stuff.</P>
rozebrać opcjonalne gwiazdki z każdej linii, w tym któregokolwiek z poprzednich spacji, dodać „Mid linii älterer "podmiotowi bloku JavaDoc:
TextLineAlterer asteriskStripper = NewTextLineAltererFor.replacement(
Pattern.compile("[ \t]*(?:\\*[ \t]*)?(.*)"), "$1",
ReplacedInEachInput.FIRST,
null, //debug
null);
Dodaj älterer podmiotowi bloku zmieniając keepMidsOnly().build();
do
midAlter(asteriskStripper).keepMidsOnly().build();
wyjściowa:
<P>The main class JavaDoc block.</P>
<P>Constructor JavaDoc block</P>
<P>Function JavaDoc block.</P>
<P>This function does some stuff.</P>
<P>Lots and lots of stuff.</P>
Plik wejściowy:
/*
A Java comment block.
*/
package fully.qualified.package.name;
/**
<P>The main class JavaDoc block.</P>
*/
public class StayClassy {
/**
<P>Constructor JavaDoc block</P>
*/
public StayClassy() {
//Do stuff
}
/**
* <P>Function JavaDoc block.</P>
* <P>This function does some stuff.</P>
* <P>Lots and lots of stuff.</P>
*/
public void doStuff() {
}
}
- 1. Jak mogę wyodrębnić wykres wywołania funkcji z plików źródłowych Pythona?
- 2. komentarze Interfejs JavaDoc
- 3. dodawanie linków w javadoc do plików źródłowych pod kodem google
- 4. Usunąć komentarze do plików źródłowych za pomocą IntelliJ?
- 5. Czy narzędzie javadoc rozpoznaje komentarze wewnątrz metod?
- 6. wkładając XML Komentarze na drzewie C# plików źródłowych z automatycznie generowane [Zgromadzenie] .xml pliki
- 7. AST dla wielu plików źródłowych z clang
- 8. Jak ukryć komentarze i tekst javadoc w widoku edytora?
- 9. Protoc: Jak wygenerować wiele plików źródłowych Java?
- 10. Budowanie bibliotek OpenCV z plików źródłowych
- 11. Generator wykresów przepływu z plików źródłowych
- 12. Jak określić kodowanie plików źródłowych Java?
- 13. Gulp - usuń komentarze z plików javascript
- 14. grunt-contrib-cssmin - jak usunąć komentarze z minified css
- 15. Sposób logicznego porządkowania plików źródłowych w C++
- 16. Wcięcie plików źródłowych Java za pomocą Eclipse
- 17. Przechowywać testy Mocha obok plików źródłowych
- 18. Tworzenie javadoc z wielu katalogów src
- 19. Standardy C++ (koniec nowej linii plików źródłowych)
- 20. Jak wyodrębnić z dispatch.json.JsObject
- 21. Co należy umieścić w komentarzach nagłówka u góry plików źródłowych?
- 22. Generowanie pojedynczej strony HTML JavaDoc
- 23. Czasami PyDev nie rozpoznaje plików .py jako plików źródłowych Pythona
- 24. Uzyskiwanie dostępu do plików źródłowych z git BARE: master
- 25. Błąd kodowania plików źródłowych Eclipse i Scala-IDE?
- 26. Linux: Tworzenie automatycznie C++ makefile z podanych plików źródłowych
- 27. Porządkowanie plików źródłowych i ich testów (z próbami nosa)
- 28. Zatrzymaj Eclipse z mangling moje komentarze
- 29. Jak zachować synchronizację plików źródłowych projektu Xcode z katalogami systemu plików?
- 30. jak skompilować wiele plików źródłowych java w linii poleceń
nr PO mówi o czymś więcej niż tylko zmianę stylów. –
thx za proste polecenie –