Wie kann ich Notepad ++ so konfigurieren, dass Leerzeichen konsistent eingerückt werden?

6

Nehmen wir an, ich habe in Visual Studio 2010 diesen Code:

Visual Studio

Wenn ich das in Notepad ++ öffne, sieht es so aus:

Notepad ++

Sehen Sie, dass argument2 es nicht richtig ausgerichtet ist.

Es ist nicht super klar, aber in Notepad ++ kann man sehen, dass ich Leerzeichen und keine Tabulatoren verwende und die Schriftart Courier New (10 pt) ist, was ich für monospaced halte (im Übrigen verwende ich den "Obsidian" -Stil), aber es Anscheinend nehmen Leerzeichen weniger Platz ein als die Zeichen (ungefähr die Hälfte des Platzes, wenn Sie die Punkte darunter zählen public. Sie können sehen, dass vier von ihnen nur die Zeichen abdecken u).

Was fehlt mir hier? Weiß jemand, wie ich Notepad ++ so konfigurieren soll, dass mein Code wie in Visual Studio ausgerichtet angezeigt wird?

kmp
quelle
1
"Courier New" enthält Serifen und Ihre Schriftart in Notepad ++ scheint keine zu haben. Sie können die Schriftart in ändern, die gewünschte Schriftart Settings->Style Configuratorauswählen Default Styleund festlegen (überprüfen Sie auch, ob die Schriftart in einem der anderen Stile in der Liste festgelegt ist).
vstm
@ VSTM Serif oder Sans-Serif spielt keine Rolle;)
Christoph
1
Ihre Notepad ++ - Schriftart ist nicht Courier New.
BoltClock
Verwenden Sie eine Monospace-Schriftart, und der Einzug wird korrekt ausgeführt.
Abhinav Sarkar

Antworten:

7

Die Schriftart, die Sie derzeit verwenden, ist nicht einfarbig, was bedeutet, dass die Buchstaben eine unterschiedliche Breite haben. Um den gewünschten Effekt zu erzielen, benötigen Sie eine monospacedSchriftart (es spielt keine Rolle, ob es sich um eine Serifen- oder eine serifenlose Schriftart handelt).

Die besten (kostenlosen) Schriftarten zum Schreiben von Code sind imo:

Inconsolata
QUELLCODE

Sie können jedoch nur verwendet werden Courier New, Consolasoder jede andere nichtproportionalen Schrift auf Ihrem System.

Settings->Style -> Font Wählen Sie dann die gewünschte Schriftart aus.

Christoph
quelle
1
Die in Visual Studio gezeigte ist Consolas. Es kommt auch mit Windows.
BoltClock
@Bolt Deshalb habe ich auf dem System zur Verfügung , sagte, da Consolas in von Vista nur auf;)
Christoph
Ich habe diesen Teil verpasst. Ich bin müde;)
BoltClock
Machen Sie ein Nickerchen und überspringen Sie SO für heute ... genug Repräsentanten für Sie;) Übrigens, ich warte darauf, dass Ihr Website-Relaunch für einige Zeit online geht;)
Christoph
3

Ich werde erklären, was das eigentliche Problem und die Lösung waren ...

  • Ich hatte Courier Newals Global Styles | Global OverrideOption so eingestellt:

Global

  • Und ich hatte globales Styles | Default StyleSet Courier Newauch in etwa so:

Standardstil

  • Im C # -Bereich hatte ich keinen expliziten Stil wie folgt ausgewählt:

Kein Stil für c #

An diesem Punkt stellte ich die Frage, weil ich dachte, ich wäre im Kurier-New-Monospace-Land. Klar war ich nicht ...

Nach einer Weile überlegte ich, was zum Teufel ... Ich tat das Letzte, was mir noch übrig blieb, und ging alle Optionen in C # durch und stellte die Schriftart so ein, Courier Newdass sie so aussah:

C # explizit

Und niedrig und siehe, ich hatte Courier New Güte, und es reihte sich an!

Um nicht jemand zu sein, der aufgibt, habe ich ein bisschen länger über die darin enthaltenen Optionen nachgedacht und bin auf die Situation zurückgekehrt, in der ich keine expliziten Optionen festgelegt hatte, und habe dann nur die Option COMMENT wie folgt festgelegt :

Einfach kommentieren

Und das war es!

Es scheint, dass der Kommentar aus irgendeinem Grund seine Schriftart nicht geerbt hat (und ein Leerzeichen als Kommentar betrachtet wird), und daher ist die Einrückung völlig daneben gegangen.

OK, jetzt ist es vorbei. Ich denke, ich werde mir Sublime Text oder Vim ansehen ...

kmp
quelle
2
Hey, ich hatte gerade das gleiche Problem wie du. Die Lösung bestand darin, das Enable global fontRecht unter dem Font styleRahmen in Ihrem ersten Bild zu überprüfen - das wendet diese Schriftart auf alle an, für die nicht explizit eine andere Schriftart festgelegt wurde.
Eudoxos