Einheit: Das Dialogfeld "Inkonsistente Zeilenenden" wird jedes Mal angezeigt, wenn ich VS mit Einheit öffne

10

Jedes Mal, wenn ich eine Skriptdatei von Unity mit Visual Studio aus öffne, wird in diesem Dialogfeld die Normalisierung der Zeilenenden angezeigt. Was bedeutet das? Ich klicke jedes Mal auf Ja, kann es aber immer noch nicht loswerden. Es passiert nur, wenn ich eine Datei von Unity öffne.

Geben Sie hier die Bildbeschreibung ein

Mark S.
quelle
5
Die Standard-Skript- und Shader-Vorlagendateien von Unity enthalten Zeilenenden im Unix / Mac-Stil (LF), aber Visual Studio unter Windows arbeitet gerne mit Windows-Stil (CR LF). Es verschwindet normalerweise, wenn Sie jede Datei einmal normalisiert und das Ergebnis gespeichert haben. Ich sage mir immer wieder, dass ich alle Vorlagen bearbeiten werde, damit ich mich nie wieder damit befassen muss, und dann mache ich es nicht weiter ... (Ich wünschte wirklich, Unity würde einfach der Konvention des Betriebssystems oder entsprechen [eine Option aussetzen für] immer stillschweigend automatisch konvertieren. Die ständigen Eingabeaufforderungen sind wirklich ärgerlich)
DMGregory
... oder wechseln Sie zu VS Code. Es gibt sogar ein Unity Asset Store-Plugin dafür: assetstore.unity.com/packages/tools/vscode-45320
Jasper Citi

Antworten:

5

In Visual Studio können Sie diese Prüfung (und damit die Warnung) deaktivieren, indem Sie nachsehen Tools -> Options, zum Environment -> DocumentsAbschnitt des Baums navigieren und das Kontrollkästchen "Beim Laden auf konsistente Zeilenenden prüfen" deaktivieren .

Dies unterdrückt die Warnung, löst das Problem jedoch nicht. Die Quelldateien haben weiterhin inkonsistente Zeilenenden. Idealerweise lösen Sie dieses Problem, indem Sie alle Editoren konfigurieren, die Sie verwenden, um dieselbe Art von Zeilenende einzufügen oder den vorhandenen Stil automatisch zu erkennen und beizubehalten. Leider unterstützen nicht alle Texteditoren ein solches Verhalten. VS hat beispielsweise keine steuerbare Standardeinstellung (obwohl Sie damit den verwendeten Stil pro Datei konfigurieren File -> Advanced Save Optionskönnen, ist dies jedoch sehr mühsam).


quelle
Vielen Dank für die Hilfe ... Ich denke, Entwickler dieser Tools bekommen nicht viele Beschwerden darüber, so dass sie nie ein so nerviges Verhalten behoben haben
Mark S
7

Dateiende (EOF) | Zeilenende, Zeilenende (EOL)

Wie Josh Petrie erwähnt, können Sie das Problem lösen, indem Sie die Zeilenenden jedes geöffneten Skripts ändern. Zunächst müssen Sie das Skript in Visual Studio schließen. Gehen Sie dann zu Unity und doppelklicken Sie auf die Unity-Konsolennachricht line ending warning. Visual Studio öffnet das Skript mit dem fehlenden und ein Dialogfenster zum Beenden der Zeile wird angezeigt. Gehen Sie zum Abschnitt Zeilenenden und wählen WindowsSie die von Ihnen verwendete Betriebssystemplattform aus. Speichern Sie nun das Skript und beim nächsten Öffnen von VS wird die Nachricht für dieses Skript nicht angezeigt.

Visual Studio 2019

Wenn es nicht als Problemumgehung funktioniert, können Sie die Normalisierung mit erzwingen

  • Bearbeiten> Erweitert> Neue Zeile festlegen> CRLF (für Windows).

Dies ersetzt alle LF zu CRLF.

STANDARDVORLAGE

Wenn Sie ein neues Skript erstellen, kann die Vorlage ein falsches Zeilenende haben. Wenn Sie also die Unity-Vorlage ändern, tritt dieses häufige Problem nicht jedes Mal auf, wenn Sie ein neues Skript erstellen. Um die Standardvorlage zu ändern, gehen Sie zu Unity und suchen Sie nach dem ScriptTemplates-Ordner:

C: \ Programme \ Unity ... Hub \ Editor \ 20xx.x ... Editor \ Data \ Resources \ ScriptTemplates

In Windows kann das Standardvorlagenskript als Administrator oder mithilfe des Administratorkennworts geändert werden. Öffnen Sie nun diese Skriptvorlage mit VS (Datei: 81-C # Script -...). Gehen File -> Advanced Sie in VS mit dem ausgewählten Skript zu Speicheroptionen. Das Fenster wird geöffnet und Sie wählen Windowsdas von Ihnen verwendete Plattform-Betriebssystem aus. Speichern Sie nun das Skript und wenn Sie das nächste Mal ein neues C # -Skript in Unity erstellen, wird die Meldung nicht für alle diese neuen Skripte angezeigt.

Strip'em für VS 2010-2017 INSTALLIEREN

Jetzt können Sie auch testen, ob Sie diese anderen Tools für VS wünschen. Dieses alte Video (bei 10m32s) kann Ihnen dabei helfen, aber der Rest des Videos ist bereits veraltet. Achtung, folgen Sie nicht diesem Tutorial, es funktioniert nicht mehr. Es hilft Ihnen bei der Verwendung von Strip'em (nach 10m32s)

https://youtu.be/2PVPz8Pnnrw?t=10m32s

Um Strip'em in VS 2015 nach der Installation zu aktivieren, drücken Sie Tools > Strip'emund wählen Sie Ihr Betriebssystem aus. Strip'em in VS Community 2017, doppelklicken Sie einfach auf das Installationsprogramm und das ist alles.

http://www.grebulon.com/software/stripem.php

Alan Mattano
quelle
1

Ich habe festgestellt, dass das Öffnen der Datei in einem anderen Texteditor (wie Sublime oder VS Code) und das anschließende Speichern sofort das Problem behoben hat, es sei denn, Sie sind extrem engagiert für Visual Studio. Ich habe in der Vergangenheit schlechte Erfahrungen mit Visual Studio gemacht, und es ist immer äußerst schwierig, seltsame Editorfehler zu beheben.

Joyce Lee
quelle