Wie bekomme ich C (nicht C ++) Syntaxhervorhebung in Visual Studio (2010)?

8

Ich machte mit einem Freund ein paar kleine Übungen in C, und ich verwendete aus Gewohnheit immer wieder Schlüsselwörter aus neueren Sprachen (z. B. bool, neu). Es dauerte eine Weile, bis ich erkannte, dass das das Problem war, weil VS sie als Schlüsselwörter hervorhob, obwohl sie nicht in C sind.

Ich habe sichergestellt, dass alle meine Dateien * .c waren, und ich habe die Projekteigenschaften so eingerichtet, dass sie als C kompiliert werden. Der Editor hat jedoch zusätzlich zu den C-Schlüsselwörtern immer Syntax-Highlightint für C ++ - Schlüsselwörter hinzugefügt. Gibt es eine Möglichkeit, Visual Studio mitzuteilen, dass ich nur einfaches C haben möchte?

Verwenden Sie VS2010, wenn es darauf ankommt.

    
Jimmy 13.04.2011, 07:34
quelle

2 Antworten

7

Sie können nicht. Dies ist ein bekannter Fehler in Visual Studio. Der "Intellisense" -Mechanismus, der ist Die in Visual Studio für die Syntaxfärbung verwendete Syntax basiert auf dem EDG C ++ - Compiler, den Microsoft gekauft hat, da ihr Visual C / C ++ - Compiler nur schlecht für die inkrementelle Analyse geeignet ist, die für die Analyse von unvollständigem Code benötigt wird. Und der EDG-Compiler ist nur C ++.

Sie können ein Beispiel dafür sehen, indem Sie eine Datei foo.c erstellen, die als C kompiliert wird. Fügen Sie dann der Datei die folgenden Zeilen hinzu:

%Vor%

Wenn Sie Ihr Programm kompilieren, sehen Sie die Fehlermeldung "Ein Haufen C-Code!" Wenn Sie sich jedoch das Visual Studio-Editorfenster ansehen, wird die C-Seite ausgegraut und als inaktiv markiert, und nur die C ++ - Seite wird gefärbt! Das liegt daran, dass der Intellisense-Syntax-Colorer, der auf dem EDG-C ++ - Compiler basiert, glaubt, dass alles C ++ ist.

    
librik 15.04.2011, 10:11
quelle
0

Berücksichtigen Sie, dass einige C ++ - Features von C übernommen wurden (C99 std), z. B. die C ++ - artigen Kommentare (//) oder der boolesche Datentyp (boole).

    
Baltasarq 13.04.2011 08:22
quelle