web-dev-qa-db-de.com

Hervorhebung der Jenkinsfile-Syntax in PyCharm Idea

Ich habe nach einer Möglichkeit gesucht, die Syntaxhervorhebung für jenkinsfile in PyCharm zu aktivieren. Kennt jemand eine Methode, um dies zu tun? Ich verwende speziell Skript-Pipeline.

17
Anthony Martin

Leider unterstützt Pycharm derzeit keine Hervorhebung der Groovy/Jenkinsfile-Syntax.

Dies beantwortet Ihre Frage zwar nicht offiziell, bietet jedoch eine Problemumgehung für diejenigen, die interessiert sind.

Installieren Sie IntelliJ IDEA, die Community Edition kann kostenlos von intelliJ heruntergeladen werden

Nach der Installation öffnen Sie Datei -> Einstellungen -> Editor -> Dateitypen -> Groovy und Sie können Jenkinsfile mit der Groovy-Syntax verknüpfen, indem Sie 'Jenkinsfile *' zu den Groovy 'Registrierten Mustern' hinzufügen:

enter image description here

Ein Wort an die Weisen: Öffnen Sie das Jenkinsfile nicht direkt in Ihrem Pycharm-Projekt mit IDEA. Es beginnt mit dem Schreiben in den Ordner ".idea" und verursacht Konflikte mit der pyCharm-IDE. Ich möchte mein Jenkinsfile in ein Unterverzeichnis eines Ordners namens 'jenkinsfiles' symlinken/softlinken. Wenn ich also ein Projekt namens ProjectA habe, verknüpfe ich die Jenkins-Datei mit ..path ../ jenkinsfiles/ProjectA/Jenkinsfile. Ich öffne dann ..path ../ jenkinsfiles/in IDEA= und kann von dort aus alle Jenkinsfiles für alle meine Projekte verwalten.

6
Lance

Der folgende Dateityp xml hebt die Jenkinsfile-Syntax in PyCharm hervor

JFHighlight

erstelle eine neue Jenkinsfile.xml, kopiere die folgende 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>

und legen Sie es unter

mac OS

~/Library/Preferences/PyCharmXX/filetypes

Linux kopieren nach

/.PyCharmXX/config/filetypes

Win kopieren nach

<User home>\.PyCharmXX\config\filetypes

https://github.com/galCohen88/pycharm-jenkinsfile

6
gCoh

Es ist möglich. Wir können PyCharm ein tolles TextMate-Bundle hinzufügen. Leider PR für die Jenkinsfile -Unterstützung lange gewartet, daher müssen wir einige Änderungen im Paket manuell vornehmen.

  1. Downloaden und entpacken Sie https://github.com/textmate/groovy.tmbundle/archive/master.Zip
  2. öffne die path_to_unpacked_package/Groovy.tmLanguage - Datei im Editor und füge <string>Jenkinsfile</string> nach der Zeile <string>gvy</string> ein
  3. Öffne PyCharm-> Einstellungen-> TextMate Bundles und füge geänderte groovy.tmbundle

Basierend auf this und getestet auf PyCharm 2019.1.2 Pro

P.S Alternativ kann man this fork ohne Modifikationen verwenden
PPS von @ jeff-welling Kommentar : Wenn Sie kein TextMate Bundles Im Setup haben Folgen Sie dann der Anweisung this , um es zu installieren
Pycharm 2019.2 Changelog: PyCharm hebt jetzt die Syntax von Windows .bat-Dateien hervor, C #, C++, Groovy , Lua, Makefiles und mehr

4
El Ruso

Sie können Jenkinsfile nicht mit Groovy in PyCharm verknüpfen, aber Sie können sie mit Java verknüpfen. Nicht perfekt, aber die Syntax ist ähnlich genug, um für einfache Dateien nützlich zu sein.

Um dies zu tun (in PyCharm 2018.3):

PyCharm> Einstellungen> Editor> Dateitypen> Wählen Sie "Java" unter "Erkannte Dateitypen"> Klicken Sie auf das +> Geben Sie "Jenkinsfile" ein.

0
lauren.marietta