2013-08-01 7 views
10

Ich benutze VS2012 und bin ziemlich zufrieden damit. Aber das Problem ist, dass, wenn ich in C++ schreibe, die Syntax-Hervorhebung immer wieder ausgeschaltet wird. Manchmal ist die Hervorhebung deaktiviert und ich muss die Datei neu laden. Auch die Hervorhebung ist ziemlich langsam.Visual Studio 2012: Die Syntaxhervorhebung wird ein- und ausgeschaltet

Weiß jemand, wie man es repariert?

+0

Ich bin auch VS 2012 (Version 11.0.60610.01 Update 3) mit und nie hatte dieses Problem. Aber in letzter Zeit bevorzuge ich die Verwendung von qtcreator für C++ (es kann MSVC als Compiler verwenden). –

+0

Für was es wert ist, hatte ich auch mit VS2012 kein Problem (auch auf Update 3). Highlighter ist ziemlich schnell, sogar bei großen Dateien. Das einzige Problem, das ich gesehen habe, ist mit Erweiterungen (insbesondere eine Rechtschreibprüfung in bestimmten Szenarien). Sie könnten versuchen, alle Erweiterungen zu deaktivieren, um zu sehen, ob Sie eine lästige identifizieren können ... – mark

Antwort

3

Bearbeiten: In dieser Antwort nehme ich an, dass Ihre Problembeschreibung korrekt ist. Mit anderen Worten nehme ich an, dass gelegentlich C++ Hervorhebung funktioniert, und die anderen Male der Text erscheint als einfacher Text: vollständig schwarz und weiß.

Meine Vermutung ist, dass Sie eine Erweiterung verwenden, die die Art und Weise ändert oder ersetzt, wie Visual Studio C++ - Code hervorhebt. Versuchen Sie vorübergehend, alle Ihre Erweiterungen zu deaktivieren und erneut zu überprüfen, ob der Editor funktioniert. Bei einigen Erweiterungen ist die Schaltfläche Deaktivieren möglicherweise deaktiviert. In diesem Fall müssen Sie die Erweiterung für diesen Test deinstallieren (möglicherweise über Systemsteuerung → Programme und Funktionen).

Als Beispiel einer allgemeinen Erweiterung, die den C++ Textmarker vollständig ersetzt, ist Visual Assist. Ich persönlich benutze dieses Produkt jedoch nicht persönlich und habe keine spezifischen Probleme damit gehört. Ich erwähne es nur als ein Beispiel für eine Erweiterung, die das Verhalten von Visual Studio in Bezug auf Syntaxhervorhebung von C++ - Code vollständig ändert.

+0

Danke für die Idee, ich habe CodeMaid installiert. Deaktivieren der Erweiterung und Neustart von VS hat es behoben. –

1

Wenn Sie nur Intellisense verwenden, können Sie gehen Bearbeiten-> Intellisense-> Toggle Vervollständigungsmodus (oder drücken Strg + Alt + Leer), mit ihm spielen und sehen, ob es (vielleicht haben Sie funktioniert habe diese Tastenkombination versehentlich gedrückt.

Ich habe auch Update 3 installiert und hatte seither keine Probleme. Wer weiß ..

0

Ich habe gestern Visual Studio 2012 Update 3 installiert und habe genau das gleiche Verhalten wie im ursprünglichen Beitrag beschrieben. Basierend auf einigen Vorschlägen in diesem Thread habe ich mir meine Erweiterungen angeschaut und die Deaktivierung von AllMargins hat das Problem behoben. Ich habe AllMargins wieder aktiviert, und alles scheint zu funktionieren, wie es sollte.

Versuchen Sie, Ihre Erweiterungen zu deaktivieren und erneut zu aktivieren. hoffentlich wird das das Problem für dich beheben.

15

Ich weiß, das vor einer Weile, aber ich habe das gleiche Problem habe zufällig, bis gerade jetzt erscheint.

Es würde deaktivieren, wenn die letzte Zeile in einer Datei ein einzeiliger Kommentar war. (// bla bla). Sobald ich das entfernt habe, hat die Textmarkierung wieder funktioniert!

+0

Ja, das war es für mich. – GILGAMESH

+0

Ähnliches Problem für mich, aber in meinem Fall war es ein einzeiliger Kommentar als erste Zeile eines Methodenkörpers. Es bedeutete, dass die Syntaxhervorhebung auf halbem Weg in der Datei verschwand. – aboy021

+0

100% arbeiten für mich! – dns

1

Ich hatte das gleiche Problem. Das Deaktivieren der Erweiterungen funktionierte leider nicht für mich.
Nach der Suche und um festzustellen, dass es nur auf größere Dateien passiert,
Ich habe es zur Arbeit, indem Hardware-Beschleunigung abschalten.

Extras-> Optionen ...-> Umgebung-> Allgemein
* Automatisch anpassen [...] (Aus)
* Verwenden Sie Hardware-Grafikbeschleunigung (off)

3

Für mich Hervorhebung immer, wenn die erste sichtbare Zeile im Editor mit den Charakteren nicht mehr funktioniert beginnt ‚//‘ und ich auslösen neuparsen irgendwie (CTRL + S zum Beispiel).

Die Hervorhebung funktioniert immer, wenn die erste sichtbare Zeile im Editor mit etwas anderem beginnt, sogar mit einem Leerzeichen, und ich repariere irgendwie das Reparieren.

Ich könnte alle meine Kommentare einrücken und dieses Problem nie erfahren, aber jetzt, wo ich davon weiß, ist es nicht mehr so ​​nervig, also lass ich es sein.

0

In meinem Fall stellte sich heraus, dass ein großer Code-Block (eine 200+ Zeilenmethode) in der ersten Spalte mit // auskommentiert wurde, was dazu führte, dass die Syntaxfarbe nicht funktionierte. Ich änderte die kommentierende Abgrenzung zu /* ... */ für diese Methode und die gesamte Syntaxfarbe wurde behoben.

1

Ich persönlich fand, dass Dinge wie:

#if 0// bla-bla 

mess up Syntax schlecht hervorgehoben. Die Lösung, die für die Arbeiten ist, einen Raum zu setzen, bevor ein Kommentar, etwa so:

#if 0 // bla-bla