Modding:Setting up your Development Environment/ru: Difference between revisions

From Vintage Story Wiki
Created page with "Но это не обязательно при создании нового мода, так как команда <code>dotnet new vsmod</code> установить новую версию шаблона, если она доступна."
(Updating to match new version of source page)
(Created page with "Но это не обязательно при создании нового мода, так как команда <code>dotnet new vsmod</code> установить новую версию шаблона, если она доступна.")
 
(36 intermediate revisions by 2 users not shown)
Line 4: Line 4:
== Программное обеспечение ==
== Программное обеспечение ==


<div class="mw-translate-fuzzy">
Когда вы будете готовы приступить к кодированию модов для Vintage Story, вы, вероятно, захотите настроить среду разработки, которая упростит процесс кодирования и тестирования ваших творений. Vintage Story разрабатывается на C# и начиная с версии 1.18.8 мы перешли на .NET 7.
Когда вы будете готовы приступить к кодированию модов для Vintage Story, вы, вероятно, захотите настроить среду разработки, которая упростит процесс кодирования и тестирования ваших творений. Есть несколько приложений, которые помогут вам в разработке модов. Вот несколько предложений:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Есть несколько приложений, которые помогут вам в разработке модов. Вот некоторые из них, поддерживающие наш шаблон:
There are several applications that aid you in the development of mods and the following Software is supported by our modding template:
</div>


<div class="mw-translate-fuzzy">
* [https://www.visualstudio.com/ru/vs/community/ Visual Studio Community] это бесплатная и очень мощная среда разработки от Microsoft и, возможно, имеет наилучшую поддержу С# и .NET, которые в свою очередь тоже разработаны Microsoft. Это также инструмент, который команда Vintage Story использует при билде игры. Она также имеет [https://www.visualstudio.com/vs/mac/ MacOS версию]. При использовании установите пакет <code>.NET desktop development</code>.
* [https://www.visualstudio.com/en/vs/community/ Visual Studio Community] это бесплатная и очень мощная среда разработки, описанная в руководстве ниже. Это также инструмент, который команда Vintage Story использует для создания игры. Он также имеет [https://www.visualstudio.com/vs/mac/ MacOS версию].
</div>


<div class="mw-translate-fuzzy">
* [https://www.jetbrains.com/rider/ Jetbrains Rider] — это платная, мощная и удобная среда разработки специально спроектированная для .NET. Поскольку она создана для .NET, она также имеет очень хорошую поддержку всех функций, которые могут вам понадобиться, и при этом является полностью кроссплатформенной. Она также используется командой Vintage Story при разработке игры.
* [https://www.jetbrains.com/rider/ Jetbrains Rider] — это бесплатная и современная среда разработки с бесшовной поддержкой проектов, сочетаний клавиш и макетов Visual Studio. Это корпоративный продукт, и некоторые функции заблокированы лицензией (проверка дублирования кода, инструменты веб-разработчика), но все функции, необходимые для разработки модов VS, бесплатны. Функции индексации/перехода к ссылкам и встроенные функции декомпиляции очень эффективны, так как вы можете нажать на метод, который использует Vintage Story, и он покажет вам код, стоящий за ним. Обратите внимание, что в настоящее время в нем есть одна ошибка + задокументировано обходное решение. [https://github.com/anegostudios/vsmodexamples/issues/11 тут].
</div>


<div class="mw-translate-fuzzy">
* [https://code.visualstudio.com/ Visual Studio Code] — это бесплатный, лёгкий и универсальный редактор кода, разработанный Microsoft. Он поддерживает множество языков программирования и предлагает широкий выбор функциональных расширений. Расширение для поддержки C# — отличный выбор для начала создания модов. Этот редактор широко используется нашим сообществом мододелов.
* [https://code.visualstudio.com/ Visual Studio Code] очень облегченная версия Visual Studio. Наш драгоценный член сообщества [https://twitter.com/koppeh?lang=en copygirl] использует этот инструмент, а также [https://github.com/copygirl/howto-example-mod написал инструкцию по настройке github]
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Хоть вы и можете использовать любой редактор для работы с исходном кодом, мы настоятельно рекомендуем использовать один из вышеперечисленных инструментов, чтобы ваши процессы стали гораздо удобнее.
While you can use any text editor to edit source code files we highly recommend using any of the above tools to make your experience much more manageable.
</div>


<div class="mw-translate-fuzzy">
Выберите одну из вышеперечисленных IDE или другие альтернативы. Мы предлагаем использовать '''Visual Studio Community''' для Windows. Для Linux вы можете использовать '''Visual Studio Code''' или '''Rider'''.
VintageStory разработан на C#. Выберите одну из вышеперечисленных IDE или другие альтернативы. Мы предлагаем использовать '''Visual Studio Community''' для Windows. Для Linux вы можете использовать '''Visual Studio Code''', '''Rider''' или '''MonoDevelop'''.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Примечание: Если вы используете Linux и собираетесь ставить Visual Studio Code или Rider из '''Flatpak''' или '''snap'''? имейте в виду, что могут возникнуть некоторые проблемы с использованием .NET или переменных среды. Так что, по возможности используйте нативные методы установки.
Note: If you are on Linux and plan to install Visual Studio Code or Rider using '''Flatpak''' or '''snap''' be aware that there might be some issues with using system tools like .NET 7 or the environment variables. So if possible please use a native installation method if possible.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Далее вам нужно будет установить [https://dotnet.microsoft.com/en-us/download/dotnet/7.0 .NET 7 SDK] (Комплект для разработки программного обеспечения), который также будет включать .NET 7 Dekstop Runtime, необходимый для запуска игры начиная с версии 1.18.8-rc.1.
Next, you will need to install the [https://dotnet.microsoft.com/en-us/download/dotnet/7.0 .NET 7 SDK] (Software Development Kit) this will also include the .NET 7 Dekstop Runtime which is needed to run the game since version 1.18.8-rc.1.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Убедитесь, что .NET 7 SDK установился правильно, выполнив следующую команду в терминале:
Verify that the .NET 7 SDK is correctly installed by running the following command in a Terminal:
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
''В Windows откройте приложение Windows PowerShell, которое предустановлено во всех современных версиях Windows (10 / 11).''
''On Windows open the Application Windows PowerShell which is preinstalled on all modern Windows versions (10 / 11).''
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<syntaxhighlight lang=shell>
<syntaxhighlight lang=shell>
dotnet --list-sdks
dotnet --list-sdks
</syntaxhighlight>
</syntaxhighlight>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Она выведет список установленных SDK, одна из которых, должна иметь <code>7.0.xxx</code>. Если это так, то можете продолжать.
It should return a list of installed SDK's and should contain a line with <code>7.0.xxx</code>. If that is the case you are good to continue.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 68: Line 42:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
=== Windows ===
=== Windows ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 124: Line 96:




<div lang="en" dir="ltr" class="mw-content-ltr">
== Создание мода ==
== Setup a Mod ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 155: Line 125:




<div lang="en" dir="ltr" class="mw-content-ltr">
==== Visual Studio ====
==== Visual Studio ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 177: Line 145:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
==== Rider ====
==== Rider ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 197: Line 163:
<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Note: Unfortunately as of writing this Rider does not support those template options as Visual Studio in the UI yet but you can check this [https://youtrack.jetbrains.com/issue/RIDER-16759/Support-parameters-in-custom-project-templates issue] for updates.
Note: Unfortunately as of writing this Rider does not support those template options as Visual Studio in the UI yet but you can check this [https://youtrack.jetbrains.com/issue/RIDER-16759/Support-parameters-in-custom-project-templates issue] for updates.
For now you can make use of those options using the CLI see the  [[Visual Studio Code]] section for how to use it.
For now you can make use of those options using the CLI see the  [[#Visual Studio Code|Visual Studio Code]] section for how to use it.
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
==== Visual Studio Code ====
==== Visual Studio Code ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 265: Line 229:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<br>
<br>
----
----
<br>
<br>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 276: Line 238:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
==== Обновление шаблонов ====
==== Updating the template package ====
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Чтобы обновить все установленные шаблоны, выполните команду:
To update all installed templates you can run:
<syntaxhighlight lang=shell>
<syntaxhighlight lang=shell>
dotnet new update
dotnet new update
</syntaxhighlight>
</syntaxhighlight>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Но это не обязательно при создании нового мода, так как команда <code>dotnet new vsmod</code> установить новую версию шаблона, если она доступна.
But this should not be necessary when creating a new mod, since using the <code>dotnet new vsmod</code> will check automatically if a new version of the template is available and install it.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
==== Структура папок ====
==== Folder structure ====
</div>


<div class="mw-translate-fuzzy">
Вот обзор того, где находятся файлы в вашем моде.
== Установить средство разработки ==
<table id="treeviewtable" class="table table-bordered tt-table" style='table-layout: fixed'>
</div>
  <tr style=''>
    <th width='300' align='left'>Название</th>
    <th width='600' align='left'>Описание</th>
  </tr>
  <tr>
    <td><div class="tt" data-tt-id="root">mytestmod</div></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_vscode" data-tt-parent="root">.vscode</div></td>
    <td>Если вы указали --IncludeVSCode, то эта папка будет содержать всё необходимое для запуска, упаковки и дебага вашего мода в Visual Studio Code.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_cakebuild" data-tt-parent="root">CakeBuild</div></td>
    <td>Этот проект содержит код, который билдит mytestmod_x.x.x.zip. Вы можете выполнить его, выбрав CakeBuild в Run Configuration.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_mytestmod" data-tt-parent="root">mytestmod</div></td>
    <td>Это ваш проект. Он содержит весь ваш код, ассеты и modinfo.json</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases_assets" data-tt-parent="p_mytestmod">assets</div></td>
    <td>Ваши ассеты. Смотри '''{{pll|Modding:Asset System|nsp=0}}'''</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases_modinfo" data-tt-parent="p_mytestmod">modinfo.json</div></td>
    <td>Описывает ваш мод. Автор, зависимости, название и многое другое. Смотри '''{{pll|Modinfo}}'''</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases_properties" data-tt-parent="p_mytestmod">Properties</div></td>
    <td></td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases_launchsettings" data-tt-parent="p_releases_properties">launchSettings.json</div></td>
    <td>Здесь содержится информация о том, как запустить ваш мод (Visual Studio, Rider). Вы можете добавить пользовательские параметры запуска, чтобы, например, при старте запускаться прямо в мир. Запустите Vintagestory.exe -h, чтобы увидеть все параметры из терминала, открытого в папке Vintagestory.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases_csproj" data-tt-parent="p_mytestmod">mymod.csproj</div></td>
    <td>csproj вашего мода. Содержит информацию о версии .NET и зависимостях (например, VintagestoryAPI).</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases" data-tt-parent="root">Releases</div></td>
    <td>Будет содержать релиз вашего мода после выполнения CakeBuild.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases_mymtestmod" data-tt-parent="p_releases">mytestmod</div></td>
    <td>Файлы мода перед упаковкой в .zip архив.</td>
  </tr>
  <tr>
    <td scope="row"><div class="tt" data-tt-id="p_releases_zip" data-tt-parent="p_releases">mytestmod_x.x.x.zip</div></td>
    <td>Готовый к релизу мод в виде zip-архива.</td>
  </tr>


<div lang="en" dir="ltr" class="mw-content-ltr">
</table>
</table>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
=== Проект-шаблон мода ===
=== Template Mod Project ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 390: Line 391:
</div>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
=== Запуск мода ===
=== Launch the Mod ===
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
==== Запуск мода в Visual Studio ====
==== Visual Studio Launch Mod ====
[[File:Vs-cp-start.png|600px|frameless|center|alt=Запуск мода в Visual Studio|Запуск мода в Visual Studio]]
[[File:Vs-cp-start.png|600px|frameless|center|alt=Visual Studio Launch Mod|Visual Studio Launch Mod]]
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
==== Запуск мода в Rider ====
==== Rider Launch Mod ====
<gallery mode="packed-hover" widths=500px heights=100px>
<gallery mode="packed-hover" widths=500px heights=100px>
File:Rider-cp-start-new-ui.png|Rider Launch Mod (New UI)
File:Rider-cp-start-new-ui.png|Запуск мода в Rider (Новый UI)
File:Rider-cp-start.png|Rider Launch Mod
File:Rider-cp-start.png|Запуск мода в Rider
</gallery>
</gallery>
==== Visual Studio Code Launch Mod ====
==== Запуск мода в Visual Studio Code ====
[[File:Vsc-cp-start.png|400px|frameless|center|alt=Visual Studio Code Launch Mod|Visual Studio Code Launch Mod]]
[[File:Vsc-cp-start.png|400px|frameless|center|alt=Запуск мода в Visual Studio Code|Запуск мода в Visual Studio Code]]
</div>


<div class="mw-translate-fuzzy">
Если у вас возникли проблемы, вы можете узнать больше из проекта [https://github.com/anegostudios/vsmodexamples vsmodexamples]
Если у вас возникли проблемы, вы можете узнать из проекта [https://github.com/anegostudios/vsmodexamples vsmodexamples]
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
== Упаковка мода ==
== Packaging the Mod ==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
<div lang="en" dir="ltr" class="mw-content-ltr">
Line 437: Line 428:
= Дальнейшее продвижение =
= Дальнейшее продвижение =


<div class="mw-translate-fuzzy">
Если вам удалось настроить среду разработки и запустить Vintage Story через проект мода в вашей IDE, то пришло время приступить к работе над своим первым модом кода. На данный момент есть много вариантов, которые вы можете выбрать, поскольку моды кода могут изменить практически любой аспект игры. Тем не менее, лучше всего начать с блоков и элементов (поскольку к этому моменту вы уже должны быть знакомы с их созданием используя JSON-ы).
Если вам удалось настроить среду разработки и запустить Vintage Story через проект '''VSMods''' в вашей среде IDE, то пришло время приступить к работе над своим первым модом кода. На данный момент есть много вариантов, которые вы можете выбрать, поскольку моды кода могут изменить практически любой аспект игры. Тем не менее, лучше всего начать с блоков и элементов (поскольку к этому моменту вы уже должны быть знакомы с их созданием с использованием JSONS).
</div>


Перейдите на страницу '''[[Modding:Advanced Blocks/ru|Расширенные блоки]]''', чтобы создать свой первый расширенный блок кода.
Перейдите на страницу '''[[Modding:Advanced Blocks/ru|Продвинутые блоки]]''', чтобы создать свой первый продвинутый блок кода.


Или перейдите на страницу '''[[Modding:Advanced Items/ru|Расширенные элементы]]''', чтобы создать свой первый расширенный элемент кода.
Или перейдите на страницу '''{{Not translated|Modding:Advanced Items/ru|Продвинутые предметы|Modding:Advanced Items}}''', чтобы создать свой первый продвинутый предмет кода.
{{Navbox/modding}}
{{Navbox/modding}}
Confirmedusers
1,783

edits