Unity: диалог «несовместимые окончания строк» ​​появляется каждый раз, когда я открываю VS с единством

10

Каждый раз, когда я открываю файл сценария из единства с Visual Studio, появляется этот диалог о нормализации концов строк? Что это значит? Я нажимаю Да каждый раз, но все еще не могу избавиться от него. Это происходит только тогда, когда я открываю файл из единства.

введите описание изображения здесь

Метки
источник
5
Файлы сценариев и шаблонов шейдеров по умолчанию в Unity имеют окончания строк в стиле Unix / Mac (LF), но Visual Studio в Windows любит работать в стиле Windows (CR LF). Обычно он исчезает, как только вы нормализовали каждый файл один раз и сохранили результат. Я все время говорю себе, что собираюсь зайти и отредактировать все шаблоны, чтобы мне больше никогда не приходилось с этим сталкиваться, а потом я продолжаю не делать этого ... (я действительно хочу, чтобы Unity просто соответствовала соглашению ОС или [выставить опцию] всегда молча автоматически конвертировать. Постоянные
запросы
... или переключиться на VS Code. Для этого есть плагин Unity Asset Store: assetstore.unity.com/packages/tools/vscode-45320
Jasper Citi,

Ответы:

5

В Visual Studio вы можете отключить эту проверку (и, следовательно, предупреждение), заглянув внутрь Tools -> Options, перейдя к Environment -> Documentsразделу дерева и сняв флажок «Проверять согласованность концов строк при загрузке».

Это подавляет предупреждение, но на самом деле не решает проблему; исходные файлы по-прежнему будут иметь несовместимые окончания строк. В идеале вы решили бы эту проблему, настроив все редакторы, которые вы используете для вставки одинакового конца строки, или для автоматического определения существующего стиля и его сохранения. К сожалению, не все текстовые редакторы поддерживают такое поведение; Например, VS не имеет контролируемого значения по умолчанию (хотя это позволит вам настроить стиль, используемый для каждого файла File -> Advanced Save Options, но это действительно утомительно).


источник
спасибо за помощь ... я думаю, что разработчики этих инструментов не получают много жалоб по этому поводу, поэтому они никогда не исправляли такое раздражающее поведение
Марк S
7

Конец файла (EOF) | Конец строки, конец строки (EOL)

Как упоминал Джош Петри, вы можете решить эту проблему, изменив окончания строк каждого сценария, который вы открываете. Во-первых, вам нужно закрыть скрипт в Visual Studio. Затем перейдите в Unity и дважды щелкните в line ending warningсообщении консоли Unity . Visual Studio откроет сценарий с отсутствующим и появится диалоговое окно окончания строки. Перейдите в раздел «Окончания строк» ​​и выберите Windowsплатформу ОС, которую вы используете. Теперь сохраните скрипт и в следующий раз, когда вы откроете VS, сообщение для этого скрипта не появится.

Visual Studio 2019

Если это не работает в качестве обходного пути, вы можете принудительно нормализовать, используя

  • Правка> Дополнительно> Установить новую строку> CRLF (для Windows).

Это заменит все LF на CRLF.

ШАБЛОН ПО УМОЛЧАНИЮ

При создании нового скрипта шаблон может иметь неверное окончание строки. Поэтому, если вы измените шаблон Unity, каждый раз, когда вы создаете новый скрипт, вы не столкнетесь с этой общей проблемой. Чтобы изменить шаблон по умолчанию, перейдите туда, где был установлен Unity, и найдите папку ScriptTemplates:

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

В Windows стандартный шаблонный скрипт можно изменить как администратор или используя пароль администратора. Теперь откройте этот шаблон скрипта с помощью VS (файл: 81-C # Script -...). В VS с выбранным сценарием перейдите в File -> Advanced Save Options, появится всплывающее окно и выберите WindowsОС платформы, которую вы используете. Теперь сохраните скрипт и в следующий раз, когда вы создадите новый скрипт на C # в Unity, сообщение не появится для всех этих новых скриптов.

УСТАНОВКА Strip'em для VS 2010-2017

Теперь вы также можете проверить, если вы хотите, чтобы это другие инструменты для VS. Это старое видео (с разрешением 10 м32 с) может помочь вам в этом процессе, но остальная часть видео уже устарела. Предупреждение, не следуйте этому руководству, оно больше не работает. Помогает вам в процессе использования Стрип'ема (после 10м32 с)

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

Чтобы активировать Strip'em в VS 2015, после установки нажмите Tools > Strip'emи выберите свою ОС. Strip'em в VS Community 2017, вы просто дважды щелкните установщик, и это все.

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

Алан Маттано
источник
1

Если вы не очень привержены Visual Studio, я обнаружил, что буквально просто открыв файл в другом текстовом редакторе (например, Sublime или VS Code), а затем сохранив его, немедленно устранена проблема. В прошлом у меня был плохой опыт работы с Visual Studio, и всегда очень сложно отлаживать странные ошибки редактора.

Джойс ли
источник