Visual Studio sagt mir gelegentlich:
Die Zeilenenden in den folgenden Dateien sind nicht konsistent. Möchten Sie die Zeilenenden normalisieren?
Es gibt mir dann eine Dropdown-Liste mit verschiedenen Standards oder etwas, wie Windows, Mac, Unix und ein paar Unicode-Standards.
Was bedeutet das und was passiert, wenn ich klicke Yes
?
visual-studio
line-endings
MetaGuru
quelle
quelle
git
. Siehe auch: stackoverflow.com/questions/170961/…Antworten:
Das bedeutet normalerweise, dass Sie Zeilen haben, die mit etwas anderem als einem Wagenrücklauf / Zeilenvorschub-Paar enden. Dies passiert häufig, wenn Sie eine Webseite kopieren und in den Code-Editor einfügen.
Durch das Normalisieren der Zeilenenden wird lediglich sichergestellt, dass alle Zeilenendenzeichen konsistent sind. Es verhindert, dass eine Zeile mit
\r\n
und eine andere mit\r
oder endet\n
. Das erste ist das Windows-Zeilenendpaar, während die anderen normalerweise für Mac- oder Linux-Dateien verwendet werden.Da Sie in Visual Studio entwickeln, möchten Sie natürlich "Windows" aus der Dropdown-Liste auswählen. :-)
quelle
Einige Zeilen enden mit
\n
.Einige andere Zeilen enden mit
\r\n
.Visual Studio schlägt vor, dass alle Zeilen gleich enden.
quelle
Wenn Sie Visual Studio 2012 verwenden:
Gehen Sie zum Menü Datei → Erweiterte Speicheroptionen → Wählen Sie Zeilenendtyp als Windows (CR LF) .
quelle
Führen Sie die folgenden Schritte in der Menüleiste aus, um die Option ein- oder auszuschalten :
Extras → Optionen → Umgebung → Dokumente → Überprüfen Sie beim Laden, ob die Zeilenenden konsistent sind
quelle
Die Datei, die Sie bearbeiten, wurde mit einem anderen Editor bearbeitet, der nicht dieselben Zeilenenden verwendet. Dies führt zu einer Datei mit gemischten Zeilenenden.
Die für Zeilenenden verwendeten ASCII-Zeichen sind:
CR, Wagenrücklauf
LF, Zeilenvorschub
Windows = CRLF
Mac OS 9 oder früher = CR
Unix = LF
quelle
Der Wikipedia- Newline-Artikel könnte Ihnen helfen. Hier ist ein Auszug:
quelle
Dies bedeutet, dass beispielsweise einige Ihrer Textzeilen mit einem
<Carriage Return><Linefeed>
(Windows-Standard) und einige nur mit einem<Linefeed>
(Unix-Standard) enden .Wenn Sie auf "Ja" klicken, wird das Zeilenende in Ihrer Quelldatei in das gleiche Format konvertiert.
Dies hat für den Compiler keinen Unterschied (da das Zeilenende nur als Leerzeichen gilt), kann jedoch für andere Tools (z. B. den Unterschied in Ihrem Versionskontrollsystem) einen Unterschied bedeuten.
quelle
Es ist nicht nur Visual Studio ... Es wären alle Tools, die Dateien, Compiler, Linker usw. lesen, die damit umgehen müssen.
Im Allgemeinen (für die Softwareentwicklung) akzeptieren wir das Problem des Multiplattform-Zeilenendes, lassen jedoch die Versionskontrollsoftware damit umgehen.
quelle
Wenn Sie etwas aus dem Web kopieren und einfügen, erhalten Sie möglicherweise inkonsistente Zeilenenden.
Um dies zu beheben, können Sie die Visual Studio-Erweiterung "Line Endings Unifier" verwenden, mit der das Zeilenende beim Speichern der Datei automatisch konsistent gemacht werden kann.
quelle
Für Visual Studio 2008 gibt es ein Add-In, das das Zeilenendeformat beim Speichern einer Datei konvertiert. Sie können es hier herunterladen: http://grebulon.com/software/stripem.php
quelle