Visual studio не работает f2
Это сводит меня с ума. С тех пор, как я установил ReSharper 4, F12 больше не работает. Если вы посмотрите на все ярлыки ReSharper в подменю Goto, у декларации нет назначенных!
Единственный способ перейти к объявлению - это использовать Alt и ` затем выбрав декларацию.
Я попытался удалить и переустановить ReSharper безуспешно, я также в параметре ReSharper попросил его использовать привязки клавиш Visual Studio по умолчанию, но это тоже не работает.
Интересно, что когда я использую Alt и ` я на самом деле получить две записи для варианта декларации.
Кто-нибудь сталкивался с этой проблемой?
Я использую Visual Studio 2005 SP1.
У меня было несколько случаев, когда сочетания клавиш Resharper и Visual Studio смешивались, и у меня были проблемы с их сортировкой.
Если вас интересуют только одна или две привязки, вы можете изменить их, перейдя в
Инструменты-> Настроить-> Пункт меню «Клавиатура».
Я столкнулся с той же проблемой и решил ее, сначала сбросив сопоставления клавиатуры Visual Studio:
Инструменты> Параметры> Клавиатура> Сброс
Затем заходим в параметры ReSharper и применяем схему:
Resharper> Параметры> Интеграция с Visual Studio> Применить схему
Начиная с VS2017:
Инструменты> Параметры> Среда> Клавиатура> Сброс
Для Resharper 2017.2:
Resharper> Параметры> Среда> Клавиатура и меню> Сочетания клавиш> Применить схему
В Resharper 8 это (как упоминалось в другом ответе): Resharper> Параметры> Среда> Клавиатура и меню> (Выберите Visual Studio в разделе Сочетания клавиш)> Применить схему> Сохранить
@RahulR. Я отредактировал его соответствующим образом, но сохранил ответ, поскольку он все равно будет верным, если кто-то использует v8 или более раннюю версию. Я бы рекомендовал stackoverflowers подтолкнуть этот ответ, поскольку это работает.
Здесь вы можете увидеть недостающий функционал:
Как видно, у transform объекта не открывается меню автозаполнения.
Unity version: 5.5.2f1
Visual studio 2015
Visual Studio Tools for Unity is installed
Автоматического завершения нет, потому что в сценарии вместо имени проекта написано « Разные файлы ». Взгляните на изображение ниже, взятое из видео по вашему вопросу:
Это также может произойти из-за того, что Unity аварийно завершил работу, пока Visual Studio все еще открыта, что привело к повреждению некоторых файлов.
Это может произойти из-за того, что Unity был закрыт, а затем снова открыт, но больше не подключен к Visual Studio. Когда Visual Studio открывается, вы получаете « Разные файлы » без автозаполнения.
Это может произойти, если Visual Studio Tools for unity не установлен.
Когда вы создаете скрипт из Unity, быстро откройте его до того, как Unity завершит его обработку или до того, как анимация круглых значков завершит анимацию.
Загрузите и установите Инструменты Visual Studio для единства по этой ссылке. Сделайте это, пока 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. Это может решить вашу проблему.
Если не работает, проверьте, есть ли у вас эта ошибка:
The "GetReferenceNearestTargetFrameworkTask" task was not found
Установите NuGet PackageManager из здесь .
Перезапустите Visual Visual.
См. Этот ответ для получения дополнительной информации.
Спасибо за указатель на разные файлы! Закрытие VS, удаление проектов VS и sln, а затем двойное нажатие на скрипт в Unity (следовательно, восстановление файлов проекта и повторное открытие VS) исправили это для меня. Я бы рекомендовал попробовать это перед кнопкой «повторно импортировать все», поскольку это обед / ночь для нетривиальных проектов.
В большинстве случаев это вызвано созданием новых сценариев или перемещением их в разные папки в Unity. Всякий раз , когда перезапуск Unity и VS не решает, я simoly также удалять *.csproj и *.sln файлы и запустить Unity , чем. Обычно это работает
@gollumullog Хорошо. Поскольку это сработало для нескольких людей, я обновил свой ответ, включив и это.
В редакторе Unity перейдите в меню, нажмите «Правка» -> «Настройки» -> «Внешние инструменты» -> «Редактор внешних сценариев». Установите его в Visual Studio (ваша установленная версия VS).
Теперь, если 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 перезагрузит проект, появится предупреждение. Просто нажмите «Отменить».
Если вы выполнили все вышеперечисленное, но по-прежнему не работает, просто попробуйте следующее: Примечание: вы должны были обновить VS.
Надеюсь, тебе это тоже поможет.
Отлично подходит для людей, у которых Visual Studio была установлена до Unity, у меня это сработало после установки инструмента VS для Unity.
Выгрузите и перезагрузите проект в Visual Studio:
- щелкните правой кнопкой мыши свой проект в обозревателе решений
- выберите " Выгрузить проект"
- выберите Reload Project
Я обнаружил, что это решение работает лучше всего (проще всего), столкнувшись с этой проблемой несколько раз.
Спасибо за помощь! Это сработало, но я чувствую, что мы вернулись в 90-е и нам нужно перезапустить Windows, только на этот раз это VS 2017.
Ого! Больше мне ничего не помогло; Переустановите VS, даже переустановив Unity, чтобы он переустановил VS, удалив файлы .sln и .cjsproj, чтобы они были регенерированы. ничего не помогло .. но, наконец, простой щелчок в обозревателе решений, чтобы показать папки, похоже, помогло: o
Эта страница помогла мне решить проблему.
В редакторе Unity выберите меню «Правка»> «Настройки».
Слева выберите вкладку «Внешние инструменты».
Для внешнего редактора сценариев выберите имеющуюся версию Visual Studio.
Нажмите восстановить файлы
Сегодня я столкнулся с теми же проблемами, используя 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.
Check if you have proper rights to C; drive. Also if you are behind a proxy, you'll need to bypass it
I can't do much about this since I can't manage rights or connections on my workstation, is there a way do to it manually?
Apart from rights you can manually bypass proxy by adding "http.proxy": "http://username:password@ipaddress:port" in your VSCode user settings. Replace username, password, ipaddress and port according to the authentication you have been provided with for your account. If your password contains @ add username@password inside qoutes
8 Answers 8
There may be multiple "projects" in the folder and VSCode has selected the "wrong" one. (in VSCode terms "project" means the sln file)
Use ctrl-shift-P and select "OmniSharp: Select Project" to select the correct project (a .sln file).
If you have the Output window open with "OmniSharp Logs" selected, you will see it reading your csproj's. Once finished your goto definition will start to work
"project" in this case means the sln. If you have more than one in the root it can choose the "wrong" one to load the csproj's from. Just restarting omni doesn't help in this case as it'll just choose the wrong sln again. You have to tell it which sln to start with.
Thanks so much for this. I was having this issue using submodules (which have sln files) I've restarted, reinstalled, and never even knew about this feature.
As written in the comments for @AndyPook's answer, another possible solution is to just restart OmniSharp.
CTRL + SHIFT + P -> OmniSharp: Restart OmniSharp
Fix: When multiple solutions in same folder
This answer is visual version of @AndyPook's answer.
1. Crtl + Shift + P
2. Search >OmniSharp 3. Choose option Select Project
4. It will show all the list of solutions in your folder. select the correct e.g:
5. Verify it by looking into OmniSharp Logs
I had the same problem, but with a TypeScript project folder. The solution was to simply reopen the folder.
I know that I am late to this thread, but restarting omnisharp did not fix this problem for me. What did fix the problem was running 'dotnet restore' and opening the project folder again.
I had the same problem in VSCode (multiple projects Web API and Angular MVC) and resolved by creating a new sln file. Please do the following steps:
Step 1: Create the project sln file. ( ex: MyApp.sln )
Step 2: Open the sln file and paste this code:
Step 3: Crtl + Shift + P to switch on the project.
Try Using Shift+Fn+F12 if all required extension are installed depends on your system config
"Fn" can mean different things. It can activate or deactivate the F-keys. So I guess it activates them for you.
Crtl+shif+P : Workspace:open Configuration file you can setup compound launch setting as well after that, to open multiple sln in debug mode at same time, like below one: "launch": < "configurations": [
Приносим извинения. Запрошенное содержимое было удалено. Вы будете автоматически перенаправлены через 1 секунду.
Лучший отвечающий
Вопрос
- Изменен тип Maksim Marinov Microsoft contingent staff, Moderator 17 августа 2015 г. 6:47 тема не активна
- Изменен тип Maksim Marinov Microsoft contingent staff, Moderator 17 августа 2015 г. 6:47 ошибка
Ответы
Приложение Windows начинает исполнение кода не с главной функции Вашей программы. Главная функция вызывается средой .net после некоторых подготовительных операций. Запуск отладки клавишами F10-F11, предназначенными для пошаговой отладки останавливают программу именно в этом "подготовительном" коде, исходный код которого, действительно, отсутствует. И символы здесь не помогут. Отладку следует начинать с установки точек прерывания в своем коде, а запускать клавишей F5.
А это предупреждение говорит о том, пошаговая отладка аксессоров get и set свойств отключена (по умолчанию, действительно, так и есть) и предлагает ее включить.
Все ответы
Приложение Windows начинает исполнение кода не с главной функции Вашей программы. Главная функция вызывается средой .net после некоторых подготовительных операций. Запуск отладки клавишами F10-F11, предназначенными для пошаговой отладки останавливают программу именно в этом "подготовительном" коде, исходный код которого, действительно, отсутствует. И символы здесь не помогут. Отладку следует начинать с установки точек прерывания в своем коде, а запускать клавишей F5.
А это предупреждение говорит о том, пошаговая отладка аксессоров get и set свойств отключена (по умолчанию, действительно, так и есть) и предлагает ее включить.
Спасибо. Вы мне помогли разобраться. Но у меня возник вопрос другой. Как отладку делать клавишей F11? Сначала точки останова, потом F5, а потом F11?
Я думал, что шаг с заходом я делаю по своему коду. В предыдущих версиях студии всё работало, я шагал по своему коду. А тут и в настройках отладки поменял параметры, всё равно не шагает. Иногда спрашивает файл appdomain.cs и указывает путь, по которому ищет этот файл, не существующий на моем компьютере.
Что работало? Что Вы вкладываете в понятие "шаг с заходом"? Заход осуществляется в функцию (метод). Если метод Ваш, Вы увидите исходный код, в противном случае - нет. Что может быть не понятно?
По-моему шаг с заходом после нажатия F11 это когда можно передвигаться по коду, заходить в процедуры, например в процедуру клика по кнопке, пошагово выполнять каждый оператор и при наведении курсора мышки показываются значения переменных. Сейчас это доступно, когда установлена точка останова, нажата клавиша F5, а уже после этого можно нажимать F11. Раньше было достаточно F11 только, чтобы посмотреть как выполняется программа.
Здравствуйте, Вы разобрались в проблеме? Пожалуйста для тех кто в танке помогите решить аналогичную, в комментариях подытожено кем то ". что еще не понятно", остается только сказать ". ну не понятно" чуть подробней плиз
для примера создал небольшой новый проект winForms в нем форма и таймер. При отладке (точка останова), клавишей F11 (шаг с заходом) добирается до первого условия и выдает также исходный код не найден пытается найти int32.cs в ДРУГИХ случаях другой потерянный файл и так все время(
в данном случае точка останова возле if (ids>2), три нажатия F11 и выходит ЗЛОСТНОЕ непреодолимое препятствие: "файл не найден"
При отладке (точка останова), клавишей F11 (шаг с заходом) добирается до первого условия и выдает также исходный код не найден пытается найти int32.cs в ДРУГИХ случаях другой потерянный файл и так все время(
в данном случае точка останова возле if (ids>2), три нажатия F11 и выходит ЗЛОСТНОЕ непреодолимое препятствие: "файл не найден"
Во-первых, не могу понять, почему нужно пытаться обязательно делать ШАГ С ЗАХОДОМ в метод (в Вашем случае в операцию сравнения "больше" структуры Int32), не принадлежащий Вашей программе и исходного кода которого точно нет на локальной машине?
Во-вторых, не знаю в какой версии VS Вы работаете, а у меня в VS 2017 Community описанное Вами поведение студии не наблюдается. Отладчик благоразумно обходит отсутствующий исходный код (даже по F11) и переходит к следующей строке.
Посмотрите настройки отладки (особенно, отмеченные на рисунке пункты):
Здесь вы можете увидеть недостающий функционал:
Как видно, у 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.
Читайте также: