2013-12-15 9 views
7

Ich habe ein C++ - Projekt, das ich kompilieren mit Ninja und Clang ++, und möchte Fehler in der Quickfix-Liste während der Kompilierung haben. Derzeit, wenn ich gesetzt makeprg=ninja und dann :make laufen, die gesamte Ausgabe erzeugt durch ninja einfach erscheint im quickfix Fenster, und nicht verwendet werden kann, um die entsprechenden Dateien/Linien zu springen usw.Quickfix-Liste in Vim bei der Arbeit mit Ninja und Clang ++

ich nicht für die Suche bin Funktionalität gegeben durch syntastic (die ich bereits verwende), aber ich möchte auch Fehler von anderen Dateien im Projekt sehen, ähnlich wie IDEs bieten.

Wenn dies nicht (leicht) mit Ninja gemacht werden kann, sind auch Lösungen mit make willkommen (das Projekt verwendet CMake, also sind beide möglich), aber ich würde gerne bei Ninja bleiben, wenn möglich.

Antwort

2

die gesamte Ausgabe von ninja erzeugt wird einfach im quickfix Fenster, und nicht verwendet werden kann

, die wie Vim klingt springen kann nicht die Standortinformationen aus den Fehler analysieren, weil die entsprechende 'errorformat' hasn wurde nicht eingestellt.

Suche herum, vielleicht hat jemand bereits solche geschrieben. Andernfalls müssen Sie Ihr eigenes Compiler-Plugin schreiben und dann :compiler ninja anstelle von :set makeprg=ninja verwenden. Siehe :help write-compiler-plugin.

+0

Ja, das sieht wie ein Ausgangspunkt aus. Aber ich zögere, 'ninja' als meinen': compiler' zu verwenden, weil es nur das make-Programm ist und 'clang ++' der eigentliche Compiler ist. Betrachtet man jedoch die 'compiler/gcc.vim'-Datei, so scheint es, dass auch hier ein auf die Ausgabe von' make' maßgeschneidertes 'errorformat' verwendet wird. – Futile

Verwandte Themen