До сих пор я не мог найти способ включить подсветку синтаксиса для jenkinsfile в PyCharm. Кто-нибудь знает, как это сделать? Я специально использую скриптовый конвейер.
Выделение синтаксиса Jenkinsfile в PyCharm Idea
Ответ 1
К сожалению, в настоящее время Pycharm не поддерживает подсветку синтаксиса Groovy/Jenkinsfile.
Хотя это не является официальным ответом на ваш вопрос, оно предоставляет обходной путь для тех, кто заинтересован.
Установите IntelliJ IDEA, версию сообщества можно бесплатно загрузить с intelliJ
После установки откройте File--> Настройки → Editor--> Файл Types--> Groovy, и вы можете связать Jenkinsfile с синтаксисом Groovy, добавив Jenkinsfile * в Groovy "Зарегистрированные шаблоны":
Слово мудрому: не открывайте Jenkinsfile прямо в своем проекте Pycharm с IDEA. Он начнет запись в папку ".idea" и вызовет конфликт с IDE pyCharm. Мне нравится вставлять/вставлять ссылки на мой Jenkinsfile в подкаталог папки с именем jenkinsfiles. Поэтому, если у меня есть проект с именем ProjectA, я символически связываю файл Jenkins с..path../jenkinsfiles/ProjectA/Jenkinsfile. Затем я открываю..path../jenkinsfiles/в IDEA и могу оттуда управлять всеми файлами Jenkinsfiles для всех моих проектов.
Ответ 2
Следующий тип файла xml выделит синтаксис Jenkinsfile в PyCharm
создайте новый Jenkinsfile.xml
, скопируйте следующий XML:
<filetype binary="false" description="Jenkinsfile support" name="Jenkinsfile">
<highlighting>
<options>
<option name="LINE_COMMENT" value="//" />
<option name="COMMENT_START" value="/*" />
<option name="COMMENT_END" value="*/" />
<option name="HEX_PREFIX" value="" />
<option name="NUM_POSTFIXES" value="" />
<option name="HAS_BRACES" value="true" />
<option name="HAS_BRACKETS" value="true" />
<option name="HAS_PARENS" value="true" />
<option name="HAS_STRING_ESCAPES" value="true" />
<option name="LINE_COMMENT_AT_START" value="true" />
</options>
<keywords keywords="def;else;if;import;print;return" ignore_case="true" />
<keywords2 keywords="node" />
<keywords3 keywords="field;library;stage;string" />
<keywords4 keywords="try;catch;finally" />
</highlighting>
<extensionMap>
<mapping pattern="Jenkinsfile" />
</extensionMap>
</filetype>
и поместите его под
macOS
~/Library/Preferences/PyCharmXX/filetypes
копия Linux в
/.PyCharmXX/config/filetypes
Win копия на
<User home>\.PyCharmXX\config\filetypes
Ответ 3
Возможно. Мы можем добавить отличный пакет TextMate в PyCharm. К сожалению PR для поддержки Jenkinsfile
ждал, поэтому нам нужно внести некоторые изменения в пакет вручную.
- Загрузите и распакуйте https://github.com/textmate/groovy.tmbundle/archive/master.zip
-
path_to_unpacked_package/Groovy.tmLanguage
файлpath_to_unpacked_package/Groovy.tmLanguage
в редакторе и добавьте<string>Jenkinsfile</string>
после строки<string>gvy</string>
- Откройте PyCharm-> Настройки-> Пакеты TextMate и добавьте модифицированный
groovy.tmbundle
Основан на этом ответе и протестирован на PyCharm 2019.1.2 Pro
PS В качестве альтернативы можно использовать эту вилку без каких-либо модификаций.
PPS от @jeff-welling comment: если в настройках нет TextMate Bundles
, следуйте этой инструкции для его установки
Pycharm 2019.2 changelog: PyCharm теперь будет выделять синтаксис файлов Windows.bat, С#, C++, Groovy, Lua, Makefiles и т.д.
Ответ 4
Groovy поддерживается бесплатным выпуском IntelliJ IDEA Community Edition.
Ответ 5
Вы не можете связать Jenkinsfile
с Groovy в PyCharm, но вы можете связать их с Java. Не идеально, но синтаксис достаточно похож, чтобы быть полезным для простых файлов.
Для этого (в PyCharm 2018.3):
PyCharm> Настройки> Редактор> Типы файлов> Выберите "Java" в разделе "Распознанные типы файлов"> Нажмите "+"> "Тип Jenkinsfile"