Emacs hat ispell-comments-and-strings
was innerhalb des Editors ziemlich gut funktioniert. Es stützt sich auf den Syntaxhervorhebungsmechanismus, um Kommentare und Zeichenfolgen zu identifizieren, sodass es mit jeder Sprache funktioniert, für die Sie eine gute Hervorhebung haben.
Keine Ahnung, wie Sie es mit Ihrer IDE zum Laufen bringen.
So etwas brauchte ich auch. Es sollte aber nicht nur unter Linux lauffähig sein.
Ich habe gesehen, dass die Rechtschreibprüfung oft mit einer IDE gekoppelt ist (wie bei Eclipse). Ich wollte jedoch ein Tool, das völlig unabhängig von jeder IDE ist, weil ich es in automatisierten/skriptbasierten Kontexten wie Travis-CI-Builds oder AppVeyor-CI-Builds ausführen wollte.
Ich habe mich ein wenig nach einem solchen Tool umgesehen und mich dann entschieden, mein eigenes zu schreiben.
Was ich mir ausgedacht habe, war Pyspellcode, der diese Anforderungen erfüllt. Es ist ein Python-Skript, das clang
verwendet und hunspell
die zumindest unter Linux problemlos laufen sollte. Das Skript:
- Clang ausführt, um seine AST-Dump-Ausgabe zu erhalten,
- liest die AST-Informationen durch und findet die Kommentarknoten,
- übergibt die Wörter von diesen an
hunspell
zur Überprüfung und dann - meldet Wörter zurück, die nicht erkannt wurden.
Eine interessante Überraschung für mich war, wie tief clang C++-Kommentare sogar in Doxygen-Elemente und eingebettetes HTML-Markup zerlegt. Dadurch war es möglich, clangs AST zu verwenden, um Dinge wie das Ignorieren von Wörtern zu tun, die in <code>...</code>
verschachtelt sind Blöcke und das habe ich mir im Skript zunutze gemacht.
Das Skript ist auf GitHub als Zlib-lizenziertes Open-Source-Projekt verfügbar. Im Moment ist es nur Alpha-Software mit mindestens einem Parsing-Fehler, aber wenn Interesse daran besteht, gebe ich ihm mehr Priorität.
Hoffe, das hilft!