Ich suche nach einer C (++) #if 0
-ähnlichen Möglichkeit, ganze Teile des Scala-Quellcodes auskommentieren zu können, um experimentelle oder abgelaufene Code für eine Weile zu behalten.
Ich habe ein paar Alternativen ausprobiert und würde gerne hören, was Sie verwenden, und wenn Sie sich etwas besseres ausgedacht haben?
%Vor%Mein Editor macht das einfach, aber es ist nicht wirklich das Ding. Es wird leicht mit tatsächlichen einzeiligen Kommentaren gemischt.
Dann dachte ich, es gibt native XML-Unterstützung, also:
%Vor% Wrapping in XML funktioniert, außer Sie haben <tags>
innerhalb des Blocks:
Das Gleiche für mehrzeilige Strings scheint am besten zu sein, aber es gibt eine Menge Boilerplate (nicht in Scala), um den Compiler zufrieden zu stellen (weniger wenn man das innerhalb einer Klasse oder eines Objekts macht):
%Vor%Der richtige Weg dazu könnte sein:
%Vor% .. aber das stimmt nur mit /*
und */
überein, nicht mit /***
bis ***/
. Dies bedeutet, dass die Kommentare innerhalb des Blocks ausgewogen sein müssen. Und - der aktuelle Scala-Syntax-Highlighting-Modus für SubEthaEdit schlägt hier kläglich fehl.
Zum Vergleich: Lua hat --[==[
passend zu ]==]
und so weiter. Ich denke, ich bin verwöhnt?
Also - gibt es einen nützlichen Trick, den ich beaufsichtige?
Warum nutzen Sie nicht einfach Ihren Quellcode-Kontrollmechanismus? Halten Sie den Code getrennt, überprüfen Sie es in separaten Dateien und vergessen Sie es. Ich würde nicht wollen, dass meine tägliche Code-Basis mit solchen Sachen vollgestopft ist.
Beachten Sie jedoch, dass, wenn Sie diesen Code nicht regelmäßig verwenden (z. B. in automatisierten Tests usw.), er unter Code rot leidet . Sobald Sie dieses Zeug auskommentieren oder anderweitig ablegen, werden Abhängigkeiten weitergehen und Sie werden feststellen, dass es lange nicht mehr mit der bestehenden Codebasis verknüpft wird.
Ich habe den SyntaxDefinition.xml
des Scala-Modus geändert, um /***...***/
style-Kommentare zu unterstützen.
Das ist nicht dasselbe wie die Scala-Parser-Unterstützung für verschachtelte /*...*/
-Kommentare, aber ich habe keine Möglichkeit gefunden, das für meinen Editor auszudrücken.
Falls jemand das selbe machen möchte, geht hier:
%Vor% Sie können auch type="comment"
zu den wenigen Kommentarfunktionen hinzufügen. Ich bin mir nicht sicher, ob das wichtig ist (andere Modi als Scala's).
Informationen zu SubEthaEdit-Modi .
Es gibt noch eine weitere Option, die Sie ausgelassen haben. Kommentare jeglicher Art haben den Nachteil, Syntax-Highlighting zu deaktivieren und nicht in IDE-Refactorings (Emacs + Ensime, IDEA, Eclipse usw.) oder anderen Code-Intelligence-Tools eingebunden zu sein. Daher bevorzuge ich stattdessen den folgenden Ansatz:
%Vor%Ich benutze 'Grade of delete'. (1) Kommentieren (2) Wenn es Code ist, den ich nicht mehr benötige, aber später / an anderer Stelle nützlich finden könnte, habe ich einen '.boneyard'-Ordner , wo ich Codefragmente (direkt außerhalb des Produktionsquellenbaums) wegwerfe - überraschend praktisch. (3) Löschen Sie es einfach und verlassen Sie sich auf die Quellcodeverwaltung, wenn sich herausstellt, dass ich es brauche.