7 Stimmen

VIM für PHP: Auflistung von if()'s und include()'s in Taglist

Yo uso Tagliste in VIM, aber eine bestimmte PHP-Anwendung, die ich geerbt habe, ist weitgehend mit if()'s und elseif()'s und include()'s kodiert. Keine einzige Methode oder Funktion in fast 5000 Codezeilen pro Datei (und Dutzenden oder Hunderten von Dateien). Gibt es eine Möglichkeit, Taglist oder ein anderes Plugin zu verwenden, um einen Überblick über den Codefluss zu erhalten? Ich denke an etwas in der Art, dass die Bedingungen in den if()'s in übersichtlicher Form in der Seitenleiste angezeigt werden, einschließlich ihrer Hierarchie. Alles, was auch nur annähernd so aussieht, wäre großartig.

Merci !

3voto

jakobluettgau Punkte 294

Dies erfordert ein wenig Arbeit, Sie müssen eine modifizierte Version von exuberant ctags mit modifizierten Regeln für php kompilieren.

sollten Sie sich hier umsehen: http://ctags.sourceforge.net/EXTENDING.html

1voto

Eelvex Punkte 8592

Verwendung von Faltlisten-Plugin zusammen mit foldmethod-syntax (oder die Anpassung Ihrer eigenen foldmethod-expr ) würde gut funktionieren.

Ich glaube sogar, dass eine richtige Falzeinstellung auch ohne das Plugin Wunder bewirken würde. Einige Empfehlungen:

  • set foldmethod=syntax oder ( set foldmethod=expr y set foldexpr=... für Ihren Fall)
  • set foldclose=all um all diese unangenehmen "Wenns" zu verbergen
  • set foldcolumn=2 oder größer, um die Verschachtelungsebene zu sehen
  • set foldtext=MyFoldText() und eine Funktion einrichten, die Ihnen relevante Informationen anzeigt,

mögen:

function! MyFoldText()
   let line = getline(v:foldstart)
   let line = substitute(line, 'if(\(.*\)).*', 'if: \1', 'g')
   " ... etc
   return line
endfunction

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X