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.



Подписаться
Уведомление о
guest
2 Комментарий
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Эрик

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