1
0
mirror of https://github.com/1C-Company/v8-code-style.git synced 2024-12-12 05:24:24 +02:00
v8-code-style/docs/contributing/environment.md
2021-09-24 14:07:14 +03:00

9.5 KiB

Настройка окружения

Необходимое ПО

Быстрый и легкий способ настроить среду - установите:

  1. Java Development Kit 11 с JavaFX необходимые для работы JDT и 1C:EDT
  2. 1С:Starter дистрибутив 1C:EDT online, без установки самой 1C:EDT.
  3. Установите дистрибутив Eclipse for 1C:EDT Plug-ins Developers, версия 2020-12 (см. актуальную версию в таргет-платформе для ветки master) - это стандартный дистрибутив Eclipse JDT с дополнительными плагинами и некоторыми настройками по умолчанию.
  4. Установите плагины из Eclipse-Marketplace:
    • JAutodoc - генерация "рыбы" java-doc на английском - по CTRL+ALT+J ускоряет написание документации
    • SonarLint - подсказывает очень много проблем в коде и плохих практик
    • ResourceBundle Editor - редактирование интерфейсных локализируемых файлов *.properties на нескольких языках
    • Enhanced Class Decompiler - удобный просмотр классов без исходного кода
    • LiClipseText - редактор поддерживающий множество синтаксиса, например Markdown
    • EclEmma Java Code Covarage - Запуск тестов со снятием покрытия кода
    • PDE Source Lookup - Автоматическая подгрузка исходников для бандлов из целевой платформы из открытых источников

Настроки JDT и проекта

  • Откройте 1C:EDT Start и добавьте новый проект, например v8-code-style (без использования Стартера, откройте JDT и укажите адрес к вокрспейсу/проекту).
  • ПКМ в навигаторе - Import или меню File - Import - выполните импорт "проектов из Git" указав адрес https://github.com/1C-Company/v8-code-style.git в визарде клонирования
  • Импортируйте все проекты в репозитории начинающиеся, проекты тестовых конфигураций можно будет потом закрыть или удалить из воркспейса
  • Откройте файл целевой платформы (Target platform): com.e1c.v8codestyle.targets -> default -> default.target скачайте всю целевую платформу и нажмите Set active target platform для активации.
  • Выполните активацию настроек в текущем вокрспейсе (при использовании 1C:EDT Start) в меню: Help -> Perform setup tasks... - Finish...

Настройка дополнительных плагинов

  • JAutodoc
    • Использование встроенного форматера Eclipse Preferences -> Java -> JAutodoc -> Use Eclipse formatter
    • Использование комментария от поля для Getter/Setter Preferences -> Java -> JAutodoc -> [G,S]etter from field comment
  • ResourceBundle Editor
    • Кодировка *.properties файлов UTF-8 Preferences -> General -> Content types -> Text -> Java properties File измените Default encoditng = UTF-8
    • Отключить конвертацию юникода в ХХХ Preferences -> ResourceBundle Editor -> Formatting -> Convert unicode values to \uXXXX
  • Enhanced Class Decompiler
    • Выбор алгоритма по умолчанию Preferences -> Java -> Decompiler -> Default class decompiler = JD-Core (например)
    • Установка просмотрщика классов по умолчанию Preferences -> Java -> Decompiler -> Set Class Decompiler viewer as default...

(Опционально) Список плагинов JDT в поставке от 1С

Здесь представлен список инструментов (фич и репозитории) устовленный в Eclipse for 1C:EDT Plug-ins Developers, т.о. можно доустановить отсутствующий инструментарий в свою сущесвующую JDT инсталяцию.

Рекомендуем вам воспользоваться установкой JDT, описанной выше из 1C:EDT Start.

Более подробно состав плагинов и поставляемых настроек см. в меню Navigate -> Open Setup -> ...

  • JDT 2020-12

  • Core:

  • 1C:EDT Start Auth:

    • com.e1c.g5.dt.cloud.auth.client.feature.feature.group
    • com.e1c.g5.dt.cloud.auth.client.ui.feature.feature.group
    • com.e1c.g5.dt.cloud.auth.client.third_party.feature.feature.group
    • https://services.1c.dev/repository/auth-client-p2/0.3/ - установка из Стартера
  • SpotBugs:

  • AJDT:

    • org.aspectj.feature.group
    • org.aspectj.source.feature.group
    • org.eclipse.ajdt.feature.group
    • org.eclipse.ajdt.source.feature.group
    • org.eclipse.contribution.xref.feature.group
    • org.eclipse.contribution.xref.source.feature.group
    • org.eclipse.contribution.weaving.feature.group
    • org.eclipse.contribution.weaving.source.feature.group
    • org.eclipse.equinox.weaving.sdk.feature.group
    • https://download.eclipse.org/tools/ajdt/410/dev/update/
  • Gef and Gmf:

  • Egit:

    • org.eclipse.jgit.feature.group
    • org.eclipse.jgit.source.feature.group
    • org.eclipse.jgit.pgm.feature.group
    • org.eclipse.egit.feature.group
    • org.eclipse.egit.source.feature.group
    • org.eclipse.egit.mylyn.feature.group
    • org.eclipse.jgit.ssh.apache.feature.group
    • org.eclipse.jgit.http.apache.feature.group
    • org.eclipse.jgit.lfs.feature.group
    • https://download.eclipse.org/releases/2020-12/
  • Recommenders:

    • org.eclipse.recommenders.mylyn.rcp.feature.feature.group
    • org.eclipse.recommenders.mylyn.rcp.feature.source.feature.group
    • org.eclipse.recommenders.news.rcp.feature.feature.group
    • org.eclipse.recommenders.news.rcp.feature.source.feature.group
    • org.eclipse.recommenders.rcp.feature.feature.group
    • org.eclipse.recommenders.rcp.feature.source.feature.group
    • org.eclipse.recommenders.snipmatch.rcp.feature.feature.group
    • org.eclipse.recommenders.snipmatch.rcp.feature.source.feature.group
    • org.eclipse.recommenders.3rd.feature.feature.group
    • org.eclipse.recommenders.3rd.feature.source.feature.group
    • https://repo.eclipse.org/content/shadows/releases.unzip/org/eclipse/recommenders/stable/2.5.4/stable-2.5.4.zip-unzip/
  • Xtext:

  • EMF:

    • org.eclipse.emf.sdk.feature.group
    • org.eclipse.emf.ecore.xcore.sdk.feature.group
    • org.eclipse.emf.compare.source.feature.group
    • org.eclipse.emf.compare.feature.group
    • org.eclipse.emf.compare.diagram.gmf.feature.group
    • org.eclipse.emf.compare.diagram.gmf.source.feature.group
    • org.eclipse.emf.compare.ide.ui.feature.group
    • org.eclipse.emf.compare.ide.ui.source.feature.group
    • org.eclipse.emf.diffmerge.sdk.feature.feature.group
    • org.eclipse.emf.ecp.emfforms.sdk.feature.feature.group
    • org.eclipse.emf.query.sdk.feature.group
    • org.eclipse.emf.transaction.sdk.feature.group
    • org.eclipse.emf.eef.sdk-feature.feature.group
    • org.eclipse.xsd.sdk.feature.group
    • org.eclipse.uml2.sdk.feature.group
    • org.eclipse.ocl.all.sdk.feature.group
    • https://download.eclipse.org/releases/2020-12/
  • EMF DiffMerge:

  • MWE:

  • Xpand:

  • Releng Tools