War es hilfreich?

Lösung

Nutzung eines vorhandenen Werkzeug / Codebasis, die zumindest tut Teil von dem, was Sie wollen, ist die beste Wahl. Parsing ist kein einfaches Problem, vor allem der Suche nach doxygen Kommentare in Code, vor allem, wenn Sie mehrere Sprachen sind Handhabung. Eine schnelle Suche aufdrehen brachte keine schrecklich offensichtlich Projekte, aber wenn Sie bereit sind, Ihre eigenen zu erstellen, wenn es sein muss, würde ich vorschlagen, mit dem doxygen Codebasis beginnen sich. Es ist Open-Source und verfügbar über SVN oder direkter Download . Beachten Sie, dass doxygen in C ++ geschrieben ist, aber wenn Sie die Aktionen des Parsers folgen kann (vielleicht nur für eine bestimmte Sprache) es könnte Ihnen jede Menge Arbeit sparen und verhindern Eckfällen fehlt, etc. Es hängt alles davon ab, wie robust Sie Ihre Lösung sein, und wenn es nur sein, werden Sie es verwenden oder wenn Sie am Ende kann es für andere zu unterstützen. Viel Glück!

Andere Tipps

 function commentToTag(comment) {
 
 var header = null;
 var commentHtml = '';
 
 comment.split('\n').forEach(function (i) {
 		var array = i.split(' ');
    do {
 				var index = array.indexOf('');
				if (index !== -1) array.splice(index, 1);
 				index = array.indexOf('');
    } while (index !== -1);
    do {
 				var index = array.indexOf('*');
				if (index !== -1) array.splice(index, 1);
 				index = array.indexOf('*');
    } while (index !== -1);
    do {
 				var index = array.indexOf('/**');
				if (index !== -1) array.splice(index, 3);
 				index = array.indexOf('/**');
    } while (index !== -1);
    do {
 				var index = array.indexOf('*/');
				if (index !== -1) array.splice(index, 2);
 				index = array.indexOf('*/');
    } while (index !== -1);
    if (array.length === 0) return;
    if (header === null) {
    		header = "<p>" + array.join(' ') + "</p>\n";
        return;
    }
    const tag = array.splice(0, 1);
    commentHtml += "<p><"+tag + ">"+array.splice(0,1)+"</" +tag+ ">" + array.join(' ') + '</p>\n';
    
    
 });
 return header + commentHtml;
 
 }
 
 var comment = `/** This is a comment block
 *
 * \i bold text
 * \i italic text
 */`;
 console.log(commentToTag(comment));

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top