Когда я хочу отредактировать скрипты C # Unity, они открываются в Visual Studio. Предполагается, что он обеспечивает автозаполнение для всего кода, связанного с Unity, но это не работает.
Здесь вы можете увидеть недостающий функционал:
Как видно, у transform
объекта не открывается меню автозаполнения.
Версия Unity: 5.5.2f1
Visual Studio 2015
Visual Studio Tools for Unity установлен
c#
visual-studio
unity3d
intellisense
CorbenDalas
источник
источник
ll try... I have a Little problem with scripts. When I
пишу сценарии C # для Unity с помощью Visual studio, похоже, что я работаю в блокноте, нет никаких "подсказок" (правильно?), И я должен писать это очень медленно. Пожалуйста, посмотрите видео. При запуске нормальная ситуация (из учебника), вторая часть - моя проблема.Ответы:
Автоматического завершения нет, потому что в сценарии вместо имени проекта написано « Разные файлы ». Взгляните на изображение ниже, которое было взято из видео по вашему вопросу:
Сообщение « Прочие файлы » может появиться по многим причинам:
Это может произойти, если вы откроете файл Unity C # из другой папки вместо того, чтобы открывать его в редакторе Unity.
Это также может произойти из-за того, что Unity аварийно завершила работу, пока Visual Studio все еще открыта, что привело к повреждению некоторых файлов.
Это может произойти из-за того, что Unity был закрыт, а затем снова открыт, но больше не подключен к Visual Studio. При открытии Visual Studio вы получаете « Разные файлы » без автозаполнения.
Это может произойти, если Visual Studio Tools for unity не установлен.
Когда вы создаете скрипт из Unity, быстро откройте его до того, как Unity завершит его обработку или до того, как анимация круглых значков завершится.
В большинстве случаев это должно исправить перезапуск Unity и Visual Studio.
Я не могу сказать, какой из них вызывает проблему, но я расскажу о наиболее вероятном решении, чтобы исправить это.
Исправить Часть 1 :
Загрузите и установите Visual Studio Tools for unity по этой ссылке. Сделайте это, пока Unity и Visual Studio закрыты.
В редакторе Unity перейдите в Edit → Preferences ... → External Tools . В раскрывающемся меню редактора внешних сценариев измените его на Visual Studio 2015 .
Исправить Часть 2 :
Если вновь созданные файлы C # появляются как Разное, следуйте инструкциям ниже:
В Visual Studio перейдите в Инструменты → Параметры ... → Инструменты для Unity → Разное . В разделе Показать значок подключения установите для него
true
перезапуск Visual Studio.При перезапуске значок подключения теперь должен быть доступен в Visual Studio. Щелкните его, затем выберите экземпляр Unity для подключения. Красный значок «x» теперь должен превратиться в значок коричневой галочки. Теперь, когда вы создаете новый файл C # в Unity, он должен открываться без надписи « Разное» .
Исправить Часть 3 :
Все еще не исправлено?
Повторно импортируйте проект, затем откройте C # Project.
Закройте Visual Studio.
Из Unity повторно импортируйте проект, выбрав Assets → Reimport All .
Теперь откройте проект в Visual Studio, выбрав Assets → Open C # Project . Это перезагрузит проект и устранит возможные проблемы с файлом решения.
Исправить Часть 4 :
Все еще не исправлено?
Исправьте каждый файл C # по отдельности.
Щелкните значок Показать все файлы .
Выберите сценарий, который не выполняет автозаполнение, затем щелкните правой кнопкой мыши и выберите « Включить в проект» .
Исправить Часть 5 :
Еще не исправлено?
Заслуга chrisvarnz для этого конкретного решения , которое , кажется, работает для нескольких людей.
Закройте Visual Studio
Перейдите в каталог своего проекта и удалите все сгенерированные файлы Visual Studio.
Это расширения файлов, которые нужно удалить:
.csproj
.user
.sln
Пример:
Допустим, имя вашего проекта называется
Target_Shoot
, вот как должны выглядеть удаляемые файлы:Target_Shoot.csproj
Target_Shoot.Editor.csproj
Target_Shoot.Editor.csproj.user
Target_Shoot.Player.csproj
Target_Shoot.Player.csproj.user
Target_Shoot.sln
Больше ничего не удаляйте.
Исправить Часть 6 :
Если не работает, проверьте, не возникает ли у вас эта ошибка:
Установите NuGet PackageManager из здесь .
Перезапустите Visual Visual.
См. Этот ответ для получения дополнительной информации.
источник
*.csproj
и*.sln
файлы и запустить Unity , чем. Обычно это срабатываетПопробуй это,
Теперь, если Visual Studio уже запущена, перейдите в Visual Studio, он попросит перезагрузить проект. Перезагрузите проект. Проверьте, работает ли он, если не закройте Visual Studio. Теперь откройте файл cs из редактора Unity, и теперь он должен работать.
источник
Я нашел другой способ решить эту проблему более удобным способом:
Это каким-то образом убьет синхронизацию между Unity и Visual Studio.
В следующий раз, когда Visual Studio перезагрузит проект, появится предупреждение. Просто нажмите «Отменить».
источник
Выгрузите и перезагрузите проект в Visual Studio:
Исправлена!
Я обнаружил, что это решение работает лучше всего (проще всего), столкнувшись с проблемой несколько раз.
Источник: https://alexdunn.org/2017/04/26/xamarin-tips-fixing-the-highlighting-drop-in-your-xamarin-android-projects/
источник
источник
Если вы выполнили все вышеперечисленное, но по-прежнему не работает, просто попробуйте следующее: Примечание: вы должны были обновить VS.
Перейдите в Unity> редактировать> настройки> Внешние инструменты> внешний редактор скриптов. Почему-то я не выбрал «визуальную студию» для внешнего редактора сценариев, и она не работала. Как только я выбрал это и дважды щелкнул файл С # из единства, он начал работать.
Надеюсь, тебе это тоже поможет.
источник
Сегодня я столкнулся с теми же проблемами, используя Visual Studio 2017 15.4.5 с Unity 2017.
Мне удалось решить эту проблему, щелкнув правой кнопкой мыши проект в Visual Studio и изменив целевую структуру с 3.5 на 4.5.
Надеюсь, это поможет кому-нибудь еще в подобном сценарии.
источник
Два альтернативных варианта:
Исправить 1
@singleton указал мне в этом направлении. Вместо изменения целевого объекта в Visual Studio вы должны изменить его в Unity, поскольку проект создается автоматически.
Сначала удалите автоматически созданные файлы Visual Studio: .csproj .user .sln.
Затем из Unity перейдите в PlayerSettings и в разделе «Other Settings» измените «Scripting Runtime Version» со «Stable 3.5» на «Experimental 4.6».
Однако это не помогло мне.
Исправить 2
Я заметил, что все ссылки на код, связанный с Unity, были отмечены желтым предупреждением. Проверьте свои журналы ошибок и посмотрите, так ли это. В частности, проверьте, появляется ли следующая ошибка: getreferenceNearestTargetframeworkTask
Если да, попробуйте: снова запустите установщик Visual Studio.
В Build Tools 2017 нажмите Modify,
Убедитесь, что отмечены флажки «Цели Nuget и задачи сборки». Это должно быть отмечено, если вы нажмете на разработку универсальной платформы Windows.
источник
Я нашел свое решение, создав файл .cs из самой Visual Studio вместо редактора единства
источник
В моем случае правильная версия .net не была установлена на моем компьютере. Я устанавливаю .net 3.5 на свой компьютер, и у меня это сработало.
источник
Проблема, с которой я столкнулся, заключалась в том, что проект C # был нацелен на другую платформу .NET Framework (4.7.2), тогда как проект Unity имел другую цель (.NET 3.5).
Я исправил это, изменив цель в Unity как-
После этого Visual Studio работала отлично, исправили и автокоррекцию.
источник
Попробуйте нажать
Ctrl + Alt + Space
(который переключает режимы предложения и стандартного завершения)источник
Для Windows или macOS:
Загрузите / установите IDE Visual Studio (с инструментами Unity)
При установке убедитесь, что вы включили установку
Затем с помощью Unity (вы можете дважды щелкнуть один из файлов C #) откройте новый проект C #, и в среде IDE Visual Studio должна открыться ваша новая структура проекта.
Оттуда вы сможете увидеть то, что ищете.
Например:
Для Linux (предложение):
Попробуйте Monodevelop - Дополнительная информация , он предоставляет дополнения кода / подсказки.
источник
Я решил установить на WIN ту же версию .NET, которая была настроена в моем проекте Unity. (Настройки игрока)
источник
Моя автозаполнение также не работало, потому что не были установлены Visual Studio Tools for Unity . Итак, после установки удалите автоматически созданные файлы Visual Studio. Другие говорили, что вы снова открываете файл, и проблема решена, но это не так.
Уловка заключается в следующем: вместо обычного двойного щелчка по файлу вам нужно открыть файл C # из Unity, щелкнув правой кнопкой мыши, а затем «Открыть проект C #».
источник
Ни одно из вышеперечисленных решений не помогло мне. Однако я открыл файл ProjectName.CSPROJ и вручную добавил новый файл, и он работал как шарм
источник
Кредиты: https://stackoverflow.com/a/47662523/10471480
Если папка Scripts не отображается:
источник
Сработало то, что я скопировал весь код внутри сломанного класса и удалил этот файл. Затем я открыл пустой файл и вставил.
Результат : вернулись красивые синтаксические особенности!
источник
Имейте в виду, что если вы используете инструмент ReSharper, он переопределит IntelliSense и покажет свой собственный. Чтобы изменить это, в VS перейдите в Extensions -> ReSharper -> Options -> IntelliSense -> General, затем выберите Visual Studio, а не ReSharper.
источник
Перед перезапуском и / или переустановкой VS сначала попробуйте открыть любой другой из ваших проектов, чтобы узнать, работает ли Intellisence, если да, то проблема, вероятно, связана с вашим текущим проектом. Во-первых, наиболее вероятной жертвой будут пакеты NUGET с ожидающими обновлениями. Чтобы исправить это,
источник
Я пробовал все это, но в итоге обнаружил, что мне нужно щелкнуть правой кнопкой мыши решение в обозревателе решений, добавить существующие элементы и найти файл сборки C # в проводнике Windows. Кажется, существует миллиард различных проблем, которые вызывают эту ошибку, это, вероятно, самое простое решение. Если вы дважды щелкните свой скрипт из единства, он не будет перетаскивать сборку.
источник
у меня сработал один из вышеперечисленных методов, и я только что нашел решение этой проблемы:
1. Сначала перейдите в каталог проекта и удалите
.sln
файл2. Во-вторых, перейдите к единству и дважды щелкните свой сценарий. Тогда Visual Studio откроется с ошибкой,
.csproj
файл. Просто дважды щелкните и откройте его в редакторе Visual Studio, откройте папку сценариев внутри папки ресурсов, откройте сценарии, и автозаполнение будет работать отлично.источник
Обновление 2020 с Visual Studio Community 2019 и Unity 2019.3:
1) Откройте установщик Visual Studio от имени администратора, выберите изменение текущей установки и добавьте «Разработка игр для Unity».
2) Если вы сейчас добавите новый скрипт C # в Unity и откроете его (автоматически) с помощью Visual Studio, он будет описан не как «Разное» в верхней части окна, а как «Assembly-CSharp», и автозаполнение будет работать.
источник
Еще одно возможное исправление:
Почему-то это работает.
источник
Попробуйте с комбинацией: Ctrl + Alt + Space
источник