Visual studio не работает автодополнение
У меня были проблемы с Intellisense в Microsoft Visual Studio 2012 . Я буду работать над проектом, редактировать код и все такое (через некоторое время, от 5 минут до более часа) и внезапно, больше никаких предложений по коду или интеллигенции. Кажется, что оба перестают работать полностью одновременно.
Единственное решение, которое я попробовал, - сбросить все мои настройки, полностью закрыть Visual Studio и снова открыть проект. Есть ли лучшее решение или обновление, которое исправит это?
Пожалуйста, ограничьте свои теги теми, которые действительно необходимы. «Майкрософт» нет, так как никто не делает Visual Studio и не имеет vb.net. "application-settings" может показаться сохранением / чтением настроек приложения, которое вы пишете, а не IDE, которое вы используете. Вы также можете отредактировать свой вопрос и разбить его на несколько читаемых абзацев; Стена текста, которую вы разместили, трудна для чтения, и чем проще вы зададите свой вопрос, тем выше ваши шансы на получение помощи. :-)
Извините за это, просто я так взволнован, когда вещи, которые должны работать, просто по какой-то причине.
+1. У меня была одна и та же проблема несколько раз в VS 2010. Перезапуск VS обычно помогает. Нет необходимости сбрасывать настройки. Такое случается редко, поэтому для меня это никогда не было большим делом.
Я провел много времени, исследуя ту же проблему. Некоторые решения связывают эту ошибку с некоторыми ссылочными сборками. Другие говорили, что так Microsoft.Windows.Design.Extension.dll и .Interactivity.dll должно быть в ссылках проекта. Но ни одно из этих решений не помогло мне.
Да, это так. И, к сожалению, за последние пару лет VS становился все медленнее и медленнее с каждой итерацией.
У меня есть Visual Studio 2015, и intellisense работает очень медленно или вообще не работает. Иногда это работает нормально, но обычно нет.
Я должен отметить, что у меня не было проблемы с момента обновления моей оперативной памяти. Я не могу подтвердить, связано ли это, но проблема была распространена, когда у меня было 2-4 ГБ ОЗУ. Никаких проблем, так как собирается 8 и 16Гб.
Если кажется, что затронут только один файл / окно, закройте и снова откройте этот файл. Если это не сработает, попробуйте ниже.
В Visual Studio:
- Нажмите Инструменты-> Параметры-> Текстовый редактор-> Все языки-> Общие
- Снимите флажок «Авто список участников»
- Снимите флажок «Информация о параметре»
- Отметьте «Авто список участников» (да, тот, который вы только что отметили)
- Проверьте «Информация о параметре» (опять же, тот, который вы только что отметили)
- Нажмите ОК
Если это не сработает, попробуйте еще несколько шагов:
- Закройте все документы VS и снова откройте
- Если все еще не работает, закройте / снова откройте решение
- Если все еще не работает, перезапустите VS.
Для проектов C ++: у
MSDN есть несколько вещей, которые стоит попробовать: предложения MSDN
Поврежденный .ncb файл кажется наиболее вероятным.
- Закройте решение.
- Удалить .ncb файл.
- Вновь откройте решение. (Это создает новый .ncb файл.)
- Копирование / вставка элементов управления на исходной странице. Я обнаружил, что мой designer.vb файл тоже не обновлялся.
- Скопируйте / вставьте код с другой страницы, которая вызвала ошибку, потому что скопированный код ссылался на элемент управления, которого не было на странице, на которую я вставлял.
- Проект C ++ имеет поврежденный .ncb файл
(Пожалуйста, добавьте в комментарии, если вы заметили поведение, которое вызывает это.)
Бит Tools-> работает и на VS2015 Ultimate Update 2, без перезагрузки. Если бы только я мог дать этот ответ + 1 ^ 6, я был в двух умах, чтобы перейти к Eclipse> ;-) Тем не менее, кто-то в MS должен быть обрезан за ненадежность, вызванную этой ошибкой во всем мире
Другой глупой причиной отсутствия аргумента функции Intellisense может быть недоступный уровень защиты. Например, protected ctor вместо public . protected Т е р появится в списке функций за пределы доступного объема, но аргумент IntelliSense будет отсутствовать, что несколько непоследовательный ИМХО.
Для меня работает удаление динамически созданного файла .suo (Опции пользователя решения) в каталоге .vs (скрытый), который находится по тому же пути, что и файл решения.
Я иногда возвращаюсь к этой проблеме, и она связана с другими проектами / решениями, но никогда не затрагивает VS. Новые проекты всегда работают нормально.
Выпуск VS2015 Professional Обновление -2-
Это решение сработало для меня! Microsoft Visual Studio Professional 2015 Version 14.0.25431.01 Update 3 , Большое спасибо.
НЕ следуйте этому совету. все конфигурации моего проекта исчезли (включая каталоги, определения и т. д.). VS2017
У меня та же проблема; Случайно Intellisense перестанет отображаться в некоторых файлах, но не в других. Я только что это случилось со мной снова. Нажатие Ctrl + Space ничего не отобразит Form1 , переключение Form2 или любой другой класс отобразит список, как и ожидалось. Перезапуск Visual Studio обычно делает свое дело, хотя это очень раздражает и нелепо, если такая базовая функция нарушена .
Что сработало для меня, так это отключив, а затем снова включив Resharper
Перейти к
Tools -> Options-> Resharper ->General
Нажмите
Suspend -> Это отключает резарпер
Затем проверьте, работает ли Intellisense или нет. В моем случае, это было и тогда я возобновил в Resharper .
Если это не работает, вам может понадобиться Goto
Resharper -> Options-> Environment -> Intellisense -> General
И
изменить Intellisense на Visual Studio
Я нашел решение, которое работает для меня 100% времени (у меня не установлен ReSharper). Нажатие Refresh на Solution Explorer производителях INTELLISENSE вернуться.
У меня работает в VS2017, и я не знаю, установлен ли ReSharper. (Я думаю, что это покрывает все возможные случаи.)
У меня не получилось со всеми этими шагами. Как ни странно, я заметил, что Intellisense работает над другим решением в visual studio 2015, но не над конкретным.
Я нашел и удалил файл .suo и перезапустил Visual Studio. Это исправило это для меня.
У меня была такая же проблема в Visual Studio 2010 на C ++, и я превзошел ее по инструментам -> Параметры -> Текстовый редактор -> C / C ++ -> Дополнительно -> Отключить базу данных -> False, Ok; Закрыть VS; открой VS и вуаля.
Сначала я тестировал его один раз перед перезапуском VS, и он не работал, несколько раз менял этот параметр, затем перезапускал, и после перезапуска у него было другое поведение в соответствии с последним изменением; Поэтому я вывел эффекты, возникающие после перезапуска VS.
Через некоторое время я решил так:
2) Установите флажки «Автоматический список участников» и «Включить виртуальное пространство».
С visual studio> 2015 я удалил файл .suo. (найдите его в своем проекте через файловый менеджер)
Перезапустите Visual Studio, и все готово.
Я сталкиваюсь с той же проблемой в Visual Studio 2015 Preview. Я закрыл этот файл и снова открыл его. Это исправляет это для меня :).
В моем случае я добавил .ascx.cs в проект с помощью правого клика => «Включить в проект», но в проекте было установлено «Содержимое» вместо «Компиляция». Как только я установил для этого значение «Compile», intellisense снова начал работать.
MS Visual Studio 2017 Pro, проекты C ++
IntelliSense работает только тогда, когда я загружаю проект, дважды щелкнув файл решения.
Я попробовал все вышеприведенные ответы, к сожалению, не повезло. Dll's, настройки, зависимости . вы называете это. Это отстой, что вы должны пройти через все это для автозаполнения . пропустите мой конфиг Vim .
У меня VS2012 обновление 4, и проблема периодически, но как только она попадает на эту конкретную редактируемую страницу, она остается там. Одно из решений - просто закрыть страницу и отредактировать ее.
Вот некоторые ярлыки KBD, чтобы попытаться перезагрузить его, но не знаю, работают ли они.
Я думаю, что это еще одна ошибка IS . у нее было много проблем в прошлом.
Ответ @ TonyL мне не помог, но я заметил, что Intellisense перестал работать в foo классе после того, как я изменил сигнатуру метода в bar классе.
Закрытие и повторное открытие foo.cs файла исправили его.
Одна вещь, которая только что помогла мне,
- Удаление каждого файла проекта, который там. В моем проекте 10 папок, более 30 файлов.
- Воссоздание проекта.
Это занимает около 5 минут - но экономит много времени, поскольку intellisense фактически начал работать.
Следует отметить, что использование памяти (в правом верхнем углу VS 2013 Ultimate) показывает падение примерно на 40%.
Небольшие проекты будут в порядке с этим. Я сейчас смотрю на бессмысленный проект с более чем 100 000 файлов.
Попробуйте установить пакет обновления 1, ссылка . У меня была та же проблема, и я решил ее, когда установил обновление.
У меня есть обновление 4, но это все еще может произойти. Я предполагаю, что перезапуск VS, возможно, был тем, что фактически исправило это для Вас.
У меня была та же проблема, оказалось, что пакеты nuget не загружались автоматически для решения, которое я недавно загружал из хранилища, поэтому intellisense не было доступно, поскольку ни один из необходимых пакетов для отображения правильных предложений не был доступен.
В настоящее время я смотрю учебник MVA по Python на YouTube и заметил, что моя интеллигенция также исчезла, вскоре после того, как они объяснили, почему,
что-то вроде этого (извините, что у меня нет правильного словарного запаса кодирования, я новичок в программировании, но нашел решение)
Ответ: «Visual Studio не всегда может угадать, что вы пытаетесь ввести - поэтому она не всегда понимает, что она должна дать вам подсказку, например, если вы пытаетесь использовать строку внутри переменной и вам нужен intellisense, чтобы дать вам В опциях для содержимого этой строки вы должны когда-нибудь сообщить Visual Studio, что эта переменная на самом деле является строкой.
У меня была проблема только в одном файле. После создания нового класса и работы над ним он не был добавлен в область моего проекта. Поэтому, когда я закрыл и снова открыл свое решение на следующий день, файл не попал в область проекта.
Добавление существующего элемента в область проекта исправило это для меня.
В моем случае я сначала просто не наблюдал и не увидел, чтобы один из 30+ проектов в моем решении сказал «(загрузка не удалась)», хотя один из его файлов все еще был загружен в редактор, но не имел смысла. Перезагрузка проекта сделала свое дело.
Intellisense не распознал импортированное пространство имен в моем случае, хотя я мог успешно скомпилировать проект. Решением было снять флажок импортированного пространства имен на вкладке ссылок проекта, сохранить проект, проверить его снова и сохранить проект снова.
У меня была эта проблема, когда некоторые из зависимых сборок были изменены, но заблокированы другим экземпляром Visual Studio (2015).
Моим решением (я использовал перформанс) является загрузка всего решения вместо отдельного файла.
Первоначально я загрузил файл, нажав на него в перформанс
Решение Закрыть VS (который закрыл отдельный файл) Открывается заново, запуская файл решения вместо отдельного файла
Если вы используете главные страницы, создайте пустую главную страницу и используйте эту главную страницу на своей странице содержимого. Если это решит проблему, значит, у вашей оригинальной главной страницы есть проблемы. Шаг за шагом перенесите исходный код на новую главную страницу и после каждого порта проверяйте, правильно ли работает intellisense. Этот трюк решил мою проблему с интеллигенцией.
Для python попробуйте нажать кнопку «Python XX» в левой части нижней строки состояния и изменить ее на другие значения.
пожалуйста, посмотрите видео. На старте нормальная ситуация (из учебника), вторая часть показывает мою проблему.
видео с проблемой
например, transform класс не показывают предложение или автозаполнение.
Изображение с проблемой:
версия Unity: 5.5.2f1
Visual studio 2015
Установлены средства Visual Studio для Unity
нет автоматического завершения, потому что скрипт говорит"Разное Файлы " вместо названия проекта. Взгляните на изображение ниже, которое пришло из видео в вашем вопросе:
2.Это также может произойти из-за того, что Unity разбился, когда Visual Studio все еще открыта, поэтому повреждает некоторые файлы.
3.Это может произойти, потому что Unity был закрыт, а затем снова открыт, но больше не подключен к Visual Studio. При открытии Visual Studio вы получаете"Разное Файлы " и нет автоматического завершения.
4.Это может произойти, когда инструменты Visual Studio для unity is не установить.
5.Когда вы создаете сценарий из Unity, быстро откройте его до завершения обработки Unity или до завершения анимации круглых значков.
Я не могу сказать, какой из них вызывает проблему, но я рассмотрю наиболее вероятное решение для исправления этого.
2.Из редактора Unity перейдите в редактировать --> предпочтения. --> Внешние Инструменты. На Внешний Редактор Скриптов выпадающее меню, измените это на Visual Studio 2015.
1.Из Visual Studio, перейдите к инструменты --> параметры. --> инструменты для Unity --> разное. Под показать значок подключения, установить true затем перезапустите Visual Studio.
все еще не исправлено?
1.Закройте Visual Studio.
2.Из Unity повторно импортируйте проект, перейдя в активы --> реимпорт Все!--3-->.
все еще не исправлено?
1.Нажмите на Показать Все Файлы.
2.Выберите сценарий, который не выполняет автозаполнение, затем щелкните правой кнопкой мыши и выберите Включить В Проект.
еще не исправлена?
заслуга chrisvarnz для этого конкретного решения, которое, похоже, сработало для нескольких людей.
1.Закройте Visual Studio
2.Перейдите в каталог проекта и удалите все созданные файлы Visual Studio.
Это расширения файлов для исключить:
предположим, что имя вашего проекта называется "Target Shoot", вот как должны выглядеть файлы для удаления:
- Цель Стрелять.csproj файл
- Цель Стрелять.Редактор.csproj файл
- Цель Стрелять.Редактор.csproj файл.
- цель Стрелять.Игрок.csproj файл
- Цель Стрелять.Игрок.csproj файл.
- Цель Стрелять.sln
больше ничего не удалять.
3.Дважды щелкните по скрипту еще раз из Unity который должен создать новый файл Visual Studio, а затем открыть Visual Studio. Это может решить вашу проблему.
если не работает, проверьте если у вас возникли этой ошибка:
задача "GetReferenceNearestTargetFrameworktask" не найдена
1.Установить Диспетчер Пакетов NuGet Для С здесь.
2.Перезапустите Visual Visual.
посмотреть этой ответа для получения дополнительной информации.
- выберите сломанный файл в обозревателе решений.
- открыть его свойства.
- переключить поле " Build Action "с" Compile "на"None".
- затем переключите его обратно на "Compile".
Это каким-то образом убьет синхронизацию между Unity и Visual Studio.
в следующий раз, когда Visual Studio перезагрузит проект, он предложит предупреждающий. Просто нажмите "отбросить".
выгрузить и перезагрузить проект в Visual Studio:
- щелкните правой кнопкой мыши проект в Обозреватель
- выберите Выгрузить Проект
- выберите Перезагрузить Проект
Я нашел это решение, чтобы работать лучше (проще всего), столкнувшись с проблемой несколько раз.
- выберите проект в Visual Studio
- нажать кнопку "Обновить"
сегодня я столкнулся с теми же проблемами, используя Visual Studio 2017 15.4.5 с Unity 2017.
Я смог устранить проблему, щелкнув правой кнопкой мыши по проекту в Visual Studio и изменив целевую платформу с 3.5 на 4.5.
надеюсь, что это поможет кому-то еще в аналогичном сценарии.
Два Альтернативных Варианта:
@singleton указал мне в этом направлении. Вместо изменения целевого объекта в Visual Studio следует изменить его в Unity, так как проект создается автоматически.
Сначала удалите автоматически созданные файлы Visual Studio: .csproj файл .пользователь .sln
затем из Unity перейдите в PlayerSettings и в разделе "Другие настройки" измените "версию среды выполнения сценариев" со стабильной 3.5 на экспериментальную 4.6.
однако, это не исправило это для меня.
Я заметил, что все ссылки на код, связанный с Unity, были отмечены желтым предупреждением. Проверьте свои журналы ошибок и посмотрите, так ли это. В частности, см., Если вы получаете следующую ошибку: getreferenceNearestTargetframeworktask
Если так попробовать: Снова запустите установщик Visual Studio.
в инструментах сборки 2017 нажмите кнопку Изменить,
обеспечить "Цели Nuget и задачи сборки" отмечены галочкой. Это должно стать галочкой, если вы нажмете на универсальную разработку платформы Windows.
Я нашел свое решение, создав .cs-файл из самой visual studio вместо редактора unity
- правой кнопкой мыши на папке проекта в обозревателе решений
- добавить > новый элемент
- введите "unity" в поле поиска в правом верхнем углу
- выберите "CSharp MonoBehaviour"
- назовите свой скрипт внизу и нажмите Add
для Windows или macOS:
при установке, убедитесь, что вы включили установку
оттуда, вы должны быть в состоянии видеть то, что вы ищете.
для Linux (предложение):
попробовать MonoDevelop выступает - Дополнительная Информация, он обеспечивает завершение кода / подсказки.
мой автозаполнение также не работает, потому что инструменты Visual Studio для Unity не был установлен. После установки удалите автоматически созданные файлы Visual Studio. Другие сказали, что вы снова открываете файл, и проблема решена, но это не так.
ни одно из вышеперечисленных решений не сработало для меня. Однако я открыл имя проекта.Файл CSPROJ и вручную добавил новый файл, и он работал как charm
я исправил это, изменив цель в Unity как -
после этого Visual Studio работала отлично, и автозамена тоже была исправлена.
I am writing a program in Microsoft Visual Studio using C++. Recently, I noticed that the auto complete functionality that it provides has stopped working (I think it's called intellisense or something?) So now, when I'm typing code, if I write something like: className. previously, once I had typed the . a little dialogue box would appear listing the functions and variables that were available in that class, but now this no longer happens, and Visual Studio no longer automcompletes the names of the variables that I'm typing.
Anyone know why this is? How can I get this automcompete feature working again? I've tried going to Tools --> Options --> Text Editor --> C/C++ and in the 'Statement Completion' section, the 'Auto list members' and 'Parameter information' checkboxes are both checked.
My case was almost similar. Autocomplete popped up on top left corner of IDE instead of cursor mouse. I didn't see an .ncb file, I deleted .sln file to resolve it.
3 Answers 3
To fix this, I needed to delete the .ncb file from the project folder when Visual Studio was closed.
Have you tried going to Tools->Import and export settings->Reset all settings
This could also happen if your intelliSense is buggered. However, do what @vivrichards said and also restart your visual studio to be sure.
I don't kno if it makes a difference. but I am opening Visual Studio using a batch fie. However, I have always used this batch file to open it, and was using it when intelliSense was previously working.
tldr: Try ctrl+alt+space and make sure you opened the .sln, not just a file or folder
Old question but I ended up here with this problem so I'm sure someone else eventually will too:
Adding to the other valid answers, this could be due to intellisense going into low impact mode, from accidentally hitting ctrl+alt+space(default). This deactivates autocompletes on many contexts, but not all (you should still be able to call functions directly from the current file if that is the source of your problem, but autocomplete after a period is disabled.
ex.: thisFunction() would autocomplete, but not myObject.thatMethod(), nor myObject.someAttribute. Ctrl+alt+space toggles that mode on and off, which can be removed in your keybinds since it's useless for most people.
Lastly, if you opened the folder containing the projet, and not the .snl, you're not going to get full autocomplete across the whole projet. You can tell by looking at your solution explorer, if you're stuck in folder view and not the fully detailed solution tree view
Here you can see the missing functionality:
As seen, the transform object does not open the autocomplete menu.
Unity version: 5.5.2f1
Visual studio 2015
Visual Studio Tools for Unity is installed
33 Answers 33
There is no auto-completion because the script says "Miscellaneous Files" instead of the of the name of the Project. Take a look at the image below that came from the video in your question:
The "Miscellaneous Files" message can happen for many reasons:
This can also happen because Unity crashed while Visual Studio is still open therefore corrupting some files.
It can happen because Unity was closed then re-opened but is no longer connected to Visual Studio. When Visual Studio is opened you get "Miscellaneous Files" and no auto-completion.
This can happen when Visual Studio Tools for unity is not installed.
When you create a script from Unity then quickly open it before Unity finish processing it or before the round icon animation stuff finish animating.
Most of the times, restarting Unity and Visual Studio should fix this.
I can't tell which one is causing the problem but I will cover the most likely solution to fix this.
Fix Part 1:
Download and Install Visual Studio Tools for unity from this link. Do this while Unity and Visual Studio are both closed.
From Unity Editor, go to Edit → Preferences. → External Tools. On the External Script Editor drop down menu, change that to Visual Studio 2015.
Fix Part 2:
From Visual Studio, go to Tools → Options. → Tools for Unity → Miscellaneous. Under Show connectivity icon, set it to true then restart Visual Studio.
Fix Part 3:
Still not fixed?
Close Visual Studio.
From Unity, re-import project by going to Assets → Reimport All.
Fix Part 4:
Still not fixed?
Click on Show All Files icon.
Select the script that doesn't do auto-complete then right-click and select Include In Project.
Fix Part 5:
Credit goes to chrisvarnz for this particular solution which seems to have worked for multiple people.
Close Visual Studio
Go your project directory and delete all the generated Visual Studio files.
These are the files extensions to delete:
Let's say that the name of your Project is called Target_Shoot , these are what the files to delete should look like:
Do not delete anything else.
Double click on the script again from Unity which should generate new Visual Studio file then open Visual Studio. This may solve your problem.
Fix Part 6:
If not working, check if you are having this error:
The "GetReferenceNearestTargetFrameworkTask" task was not found
Install Nuget PackageManager from here.
Restart Visual Studio.
See this answer for more information.
Fix Part 7
Thanks for the miscellaneous files pointer! Closing VS, deleting the VS projects and sln, and then double-clicking a script in Unity (therefore regenerating the project files and reopening VS) fixed it for me. I'd recommend trying that before the "reimport all" button as that is lunch/overnight for non-trivial projects.
This is most times caused by creating new scripts or moving them to different folders within Unity. Whenever restarting Unity and VS doesn't solve it, I simoly also delete the *.csproj and *.sln files and start Unity than. This usually works
@gollumullog Good. Since that worked for multiple people, I have updated my answer to also include that.
In Unity Editor Go to Menu, Click on Edit -> Preferences -> External Tools -> External Script Editor. Set it to Visual Studio (your installed version of VS).
Now if Visual Studio is running already go to Visual Studio, it will ask to reload project. Reload the project. Check if it works, if not close Visual Studio. Now Open cs file from Unity Editor, and now it should work.
This worked for me too. Also, one additional thing I did in Unity 2020.2.0a13 was uncheck and check again the mark at Edit/Project Settings/Player/Other Settings: Auto Graphics API. After restart of Visual Studio, autocomplete was back :D
I found another way to fix this issue in a more convenient manner:
- Select the broken file in Solution Explorer.
- Open its Properties.
- Switch field "Build Action" from "Compile" to "None".
- Then switch it back to "Compile".
This will kill the synchronization between Unity and Visual Studio somehow.
The next time Visual Studio will reload the project, it will prompt a warning. Just click on "Discard".
If you have done all of the above and still isn't working , just try this: Note: you should have updated VS.
I hope it helps you too.
Great for people who had visual studio installed before Unity, this worked for me after also installing the VS tool for Unity.
Unload and reload the project, in Visual Studio:
- right click your project in Solution Explorer
- select Unload Project
- select Reload Project
I found this solution to work the best (easiest), having run into the problem multiple times.
Thanks for the help! This worked, but I feel that we are back in '90s and we need to restart Windows, only this time it's VS 2017.
This page helped me fix the issue.
In the Unity Editor, select the Edit > Preferences menu.
Select the External Tools tab on the left.
For External Script Editor, Choose the Visual Studio version you have.
Click regenerate Files
- Select project in Visual Studio
- Click "Refresh" button
Whoa! Nothing else helped for me; Re-Install of VS, even reinstalling Unity so that it reinstalled VS, deleting .sln and .cjsproj files so that they were regenerated. nothing helped .. but finally a simple click in the solution explorer to show folders seemed to do it :o
I hit the same issues today using Visual Studio 2017 15.4.5 with Unity 2017.
I was able to fix the issue by right clicking on the project in Visual Studio and changing the target framework from 3.5 to 4.5.
Hope this helps anyone else in a similar scenario.
Two Alternative Options:
Fix 1
@singleton pointed me in this direction. Instead of changing the target in Visual Studio you should change it in Unity since the project is auto-generated.
Then from within Unity go to PlayerSettings and under 'Other Settings' change the 'Scripting Runtime Version' from Stable 3.5 to Experimental 4.6.
However, that didn't fix it for me.
Fix 2
I noticed all of the references to Unity related code was marked with a yellow warning. Check your error logs and see if this is the case. In particular see if you get the following error: getreferenceNearestTargetframeworkTask
If so try: Start Visual Studio Installer again.
On the Build Tools 2017, click Modify,
Ensure that "Nuget targets and build tasks" are ticked. This should become ticked if you click on Universal Windows Platform development.
Здесь вы можете увидеть недостающий функционал:
Как видно, у transform объекта не открывается меню автозаполнения.
Версия Unity: 5.5.2f1
Visual Studio 2015
Visual Studio Tools for Unity установлен
Автоматического завершения нет, потому что в сценарии вместо имени проекта написано « Разные файлы ». Взгляните на изображение ниже, которое было взято из видео по вашему вопросу:
Это также может произойти из-за того, что Unity аварийно завершила работу, пока Visual Studio все еще открыта, что привело к повреждению некоторых файлов.
Это может произойти из-за того, что Unity был закрыт, а затем снова открыт, но больше не подключен к Visual Studio. При открытии Visual Studio вы получаете « Разные файлы » без автозаполнения.
Это может произойти, если Visual Studio Tools for unity не установлен.
Когда вы создаете скрипт из Unity, быстро откройте его до того, как Unity завершит его обработку или до того, как анимация круглых значков завершится.
Загрузите и установите Visual Studio Tools for unity по этой ссылке. Сделайте это, пока Unity и Visual Studio закрыты.
В редакторе Unity перейдите в Edit → Preferences . → External Tools . В раскрывающемся меню редактора внешних сценариев измените его на Visual Studio 2015 .
В Visual Studio перейдите в Инструменты → Параметры . → Инструменты для Unity → Разное . В разделе Показать значок подключения установите для него true перезапуск Visual Studio.
Все еще не исправлено?
Закройте Visual Studio.
Из Unity повторно импортируйте проект, выбрав Assets → Reimport All .
Все еще не исправлено?
Щелкните значок Показать все файлы .
Выберите сценарий, который не выполняет автозаполнение, затем щелкните правой кнопкой мыши и выберите « Включить в проект» .
Еще не исправлено?
Заслуга chrisvarnz для этого конкретного решения , которое , кажется, работает для нескольких людей.
Закройте Visual Studio
Перейдите в каталог своего проекта и удалите все сгенерированные файлы Visual Studio.
Это расширения файлов, которые нужно удалить:
Допустим, имя вашего проекта называется Target_Shoot , вот как должны выглядеть удаляемые файлы:
Больше ничего не удаляйте.
- Снова дважды щелкните сценарий в Unity, который должен создать новый файл Visual Studio, затем откройте Visual Studio. Это может решить вашу проблему.
Если не работает, проверьте, не возникает ли у вас эта ошибка:
Задача GetReferenceNearestTargetFrameworkTask не найдена.
Установите NuGet PackageManager из здесь .
Перезапустите Visual Visual.
См. Этот ответ для получения дополнительной информации.
Спасибо за указатель на разные файлы! Закрытие VS, удаление проектов VS и sln, а затем двойной щелчок по сценарию в Unity (в результате чего регенерируют файлы проекта и повторно открывают VS) исправили это для меня. Я бы рекомендовал попробовать это перед кнопкой «повторно импортировать все», так как это обед / ночь для нетривиальных проектов.
В большинстве случаев это вызвано созданием новых скриптов или перемещением их в разные папки в Unity. Всякий раз , когда перезапуск Unity и VS не решает, я simoly также удалять *.csproj и *.sln файлы и запустить Unity , чем. Обычно это срабатывает
@gollumullog Хорошо. Поскольку это сработало для нескольких людей, я обновил свой ответ, включив это.
Теперь, если Visual Studio уже запущена, перейдите в Visual Studio, он попросит перезагрузить проект. Перезагрузите проект. Проверьте, работает ли он, если не закройте Visual Studio. Теперь откройте файл cs из редактора Unity, и теперь он должен работать.
У меня это тоже сработало. Кроме того, еще одна вещь, которую я сделал в Unity 2020.2.0a13, - это снятие флажка и еще раз отметка в Edit / Project Settings / Player / Other Settings: Auto Graphics API. После перезапуска Visual Studio автозаполнение вернулось: D
Я нашел другой способ решить эту проблему более удобным способом:
- Выберите поврежденный файл в обозревателе решений.
- Откройте его свойства.
- Переключите поле «Build Action» с «Compile» на «None».
- Затем переключите его обратно на «Компилировать».
Это каким-то образом убьет синхронизацию между Unity и Visual Studio.
В следующий раз, когда Visual Studio перезагрузит проект, появится предупреждение. Просто нажмите «Отменить».
Выгрузите и перезагрузите проект в Visual Studio:
- щелкните правой кнопкой мыши свой проект в обозревателе решений
- выберите " Выгрузить проект"
- выберите Reload Project
Я обнаружил, что это решение работает лучше всего (проще всего), столкнувшись с проблемой несколько раз.
Спасибо за помощь! Это сработало, но я чувствую, что мы вернулись в 90-е и нам нужно перезапустить Windows, только на этот раз это VS 2017.
Вау! Больше мне ничего не помогло; Переустановите VS, даже переустановив Unity, чтобы он переустановил VS, удалив файлы .sln и .cjsproj, чтобы они были восстановлены. ничего не помогло .. но, наконец, простой щелчок в
Если вы выполнили все вышеперечисленное, но по-прежнему не работает, просто попробуйте следующее: Примечание: вы должны были обновить VS.
Надеюсь, тебе это тоже поможет.
Сегодня я столкнулся с теми же проблемами, используя Visual Studio 2017 15.4.5 с Unity 2017.
Мне удалось решить эту проблему, щелкнув правой кнопкой мыши проект в Visual Studio и изменив целевую структуру с 3.5 на 4.5.
Надеюсь, это поможет кому-нибудь еще в подобном сценарии.
Два альтернативных варианта:
@singleton указал мне в этом направлении. Вместо изменения целевого объекта в Visual Studio вы должны изменить его в Unity, поскольку проект создается автоматически.
Затем из Unity перейдите в PlayerSettings и в разделе «Other Settings» измените «Scripting Runtime Version» со «Stable 3.5» на «Experimental 4.6».
Однако это не помогло мне.
Я заметил, что все ссылки на код, связанный с Unity, были отмечены желтым предупреждением. Проверьте свои журналы ошибок и посмотрите, так ли это. В частности, проверьте, появляется ли следующая ошибка: getreferenceNearestTargetframeworkTask
Если да, попробуйте: снова запустите установщик Visual Studio.
В Build Tools 2017 нажмите Modify,
Убедитесь, что отмечены флажки «Цели Nuget и задачи сборки». Это должно быть отмечено, если вы нажмете на разработку универсальной платформы Windows.
Читайте также: