2012-10-29 6 views
7

Ich muss mein Projekt im Text-Modus debian Linux entwickeln. Ich benutze Vim und ich habe das clang_completion-Plugin darauf installiert. Ich habe .clang_completion Datei in Wurzel meines Projekts:Vim-Code-Abschluss funktioniert nicht nach dem Einfügen eines Standard-Headers

-I. 
-I/usr/include 
-I/usr/include/c++/4.6 

Wenn ich ein Programm wie unten schreiben, die Fertigstellung funktioniert gut.

//#include <stdio.h> 
int main() 
{ 
    struct A 
    { 
    int x, y; 
    }; 

    A a; 
    a. // After putting dot, the suggestion popup appears 

    return 0; 
} 

Allerdings, nach dem Entfernen der Kommentar der ersten Zeile, es funktioniert nicht! Wie kann ich dieses Problem lösen?

+0

Setzen Sie einen Kommentar '/ * Killer App aus dem Weltraum * /' als die erste Zeile der Datei? –

+0

Führen Sie ': cope' aus, um die Fehler von Clang zu sehen. –

+2

Übrigens sollte die Konfigurationsdatei '.clang_complete' und nicht' .clang_completion' sein. –

Antwort

0

Ich habe das clang_complete Plugin in der Vergangenheit erfolgreich verwendet (jetzt benutze ich nur cscope und ctags, die ich für genug halte).

Einschließlich externer Header arbeitete in meiner Konfiguration in Ordnung, aber, wie die clang complete plugin page gibt an, um die Datei in dem gestellt sind Pfade (oder jede andere Flagge, die Sie mit dem Klirren Compiler weitergeben möchten), müssen .clang_complete genannt werden und nicht .clang_completion.

Auch habe ich die Optionen auf eine einzige Zeile gesetzt, gerade als ich den einfachen Inhalt der Datei .clang_complete als Befehlszeilenoption übergeben würde (weiß nicht, ob Trennlinien mit \ funktioniert).

Hoffe, das hilft.

1

Ich fand den einfachsten Weg, um clang_complete zur Arbeit zu bringen, ist die mitgelieferte Datei cc_args.py.

wenn ein Projekt Verwendung clang_complete/ist/cc_args.py anstelle von gcc/g ++

Diese Zusammenstellung wird die richtige .clang_complete-Datei mit allen Bibliotheken und Abhängigkeiten erzeugen. Das Quellverzeichnis clang_complete wurde in Ihrem Benutzerordner bereitgestellt.

Beispiel Makefile:

CXX=$(HOME)/clang_complete/bin/cc_args.py g++ 

all: 
    $(CXX) main.cpp 
Verwandte Themen