GNU/Linux >> Znalost Linux >  >> Linux

Linuxový nástroj pro kontrolu pravopisu komentářů ve zdrojovém kódu c/c++

Emacs má ispell-comments-and-strings který funguje docela dobře zevnitř editoru. Spoléhá na mechanismus zvýraznění syntaxe k identifikaci komentářů a řetězců, takže funguje s jakýmkoli jazykem, pro který máte dobré zvýraznění.

Nemám ponětí, jak to udělat, aby to fungovalo s vaším IDE.


Něco takového jsem taky potřeboval. Potřeboval však být schopen běžet nejen na Linuxu.

Viděl jsem, že kontrola pravopisu je často spárována s IDE (jako u Eclipse). Chtěl jsem nástroj, který by byl zcela nezávislý na jakémkoli IDE, protože jsem ho chtěl mít možnost spouštět v automatizovaných/skriptovaných kontextech, jako jsou sestavení Travis-CI nebo sestavení AppVeyor CI.

Trochu jsem se rozhlížel po takovém nástroji a pak jsem se rozhodl napsat svůj vlastní.

To, s čím jsem přišel, byl pyspellcode, který tyto potřeby splňuje. Je to python skript, který používá clang a hunspell který by měl bez problémů běžet alespoň na Linuxu. Skript:

  1. spustí clang, aby získal výstup výpisu AST,
  2. přečte informace AST a najde uzly komentářů,
  3. předá slova z těchto do hunspell pro kontrolu a poté
  4. oznámí slova, která nebyla rozpoznána.

Zajímavým překvapením pro mě bylo, jak hluboce řinčí analyzuje komentáře C++ i do doxygenových prvků a vložených značek HTML. Díky tomu bylo možné pomocí clang's AST dělat věci, jako je ignorování slov vnořených do <code>...</code> bloků a toho jsem využil ve skriptu.

Skript je dostupný na GitHubu jako open source projekt s licencí Zlib. V tuto chvíli je to pouze alfa software s alespoň jednou chybou analýzy, ale pokud o něj bude zájem, dám mu větší prioritu.

Doufám, že to pomůže!


Linux
  1. Sdílení souborů s otevřeným zdrojovým kódem s tímto nástrojem Linux

  2. Provádějte forenzní analýzu paměti Linuxu pomocí tohoto nástroje s otevřeným zdrojovým kódem

  3. Zkontrolujte, která služba na daném portu linux naslouchá

  1. Který nástroj pro značkování MP3 pro Linux?

  2. zápasí s c++ IDE na linuxu

  3. Jak zjistit, které časové pásmo v Linuxu?

  1. Jaké open source řešení zálohování používáte?

  2. Jak nainstalovat phpMyAdmin v Linuxu pomocí zdrojového kódu

  3. CodeBlocks – Free &Cross-platformní C, C++ a Fortran IDE