VSCode: Настройка для работы IntelliSense со скриптами Unity

Некоторое время я решил сменить Visual Studio Community на Visual Studio Code. Пришлось много покопаться в настройках, но в итоге я получил то же удобство, что и при VS Community, при этом памяти расходовалось меньше. Да и запускается VSCode шустрее. При тестировании я обратил внимание на то, что подсказки для кода Unity не работают:
VSCode: Настройка для работы IntelliSense со скриптами Unity

Согласно документации, требуется необходимый минимум, чтобы это работало. Т.к. при первом запуске я не стал устанавливать что-то нужное, пришлось потом это доустанавливать:
1. Устанавливаем платформу для разработки .NET Core 3.1 SDK (Может быть нам подошла бы и версия 5, но она не Core, а проверять не хочу)

Этот шаг очень важный. Скорее всего именно он решит проблему того, что VSCode успешно дополняет функции и операторы C# типа while, if и т.п., но не «знает» про объекты Unity типа GameObject!

 

2. Перезагружаем компьютер (или завершаем сеанс пользователя), чтобы применились переменные Пути (%PATH%)
3. Заходим в VS Code Marketplace (в VS Code кнопка на левой панели, либо комбинация Ctrl+Shift+X ) и устанавливаем расширение C#.

В идеале этого должно хватить, чтобы всё остальное цеплялось из Unity. Однако для текущего проекта Unity необходимо ещё установить пакет «Visual Studio Code Editor»:
UnityWindowPackage ManagerVisual Studio Code EditorInstall

VSCode: Настройка для работы IntelliSense со скриптами Unity

Теперь (если это до сих пор не сделано) нужно установить VSCode в качестве редактора скриптов для Unity:
UnityEditPreferences…External ToolsExternal Script Editor = Visual Studio Code:
VSCode: Настройка для работы IntelliSense со скриптами Unity

При этом строка аргументов должна быть такой (External Script Editor Args):

"$(ProjectPath)" -g "$(File)":$(Line):$(Column)

 

Чтобы обновить старые файлы проекта, которые остались от Visual Studio Community, можно нажать на кнопку Regenerate project files:
VSCode: Настройка для работы IntelliSense со скриптами Unity

Вот теперь подсказки работают:
VSCode: Настройка для работы IntelliSense со скриптами Unity

Дополнения


Чтобы добавить в VS Code часть функционала Visual Studio Community, я установил дополнения:
1. Open In Web — позволяет открывать по выбранному слову онлайн справку с описанием метода.
2. Regions With Colors — подсвечиваем дириктиву #region цветом (и обрамляет его рамкой).
3. surround-with-csharp — быстрая вставка сниппетов для while, for, foreach и т.п.
4. Unity Code Snippets — быстрая вставка сниппетов для классов и методов.

Возможные ошибки

Может появится такая ошибка:

The type or namespace name ‘MonoBehaviour’ could not be found (are you missing a using directive or an assembly reference?

 

В этом случае можно удалить файл Assembly-CSharp.csproj в корне проекта и перезапустить VSCode.



VSCode: Настройка для работы IntelliSense со скриптами Unity: 2 комментария

  1. Фото аватараЭрик

    всё равно не работает. Сделал всё как надо, в нужный момент перезагрузился — всё равно подсказки не вылезают

    1. Фото аватараDenTNT Автор записи

      Попробуйте новый проект. Если там работает, то скорее всего нужно обновить файлы проекта.
      Или просто удалить файл настроек проекта.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *