热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用IntellijIdea在Java项目中突出显示Jenkinsfile语法

如何解决《使用IntellijIdea在Java项目中突出显示Jenkinsfile语法》经验,为你挑选了2个好方法。

我们已经尝试过如下所示的方法:

https://github.com/oliverlockwood/jenkinsfile-idea-plugin

https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij

在多天搜索网络了好几个小时之后,我们仍然没有找到有关这方面的有用资源.因此,在这里提出一个新问题似乎是有道理的.

我们正在开发IntelliJ想法中的Java项目,并希望将我们的构建与Jenkins集成.当我们在Idea中创建Jenkins文件时,我们不会获得语法突出显示或自动完成.由于我们是Jenkins的新手,这些功能对我们非常有用.我们怎样才能让Idea更加支持Jenkinsfiles?

如果没有办法在想法中获得Jenkins文件的语法高亮和自动完成,那么其他编辑器会有什么帮助?

请注意:

我们正在使用java项目,而不是groovy项目.

我们已经尝试过插件https://github.com/oliverlockwood/jenkinsfile-idea-plugin.当插件被激活时,Jenkins文件被识别为,但是语法高亮显示我们收到错误消息,请参阅下文.

pipeline {
agent { docker 'maven:3.3.3' }
stages {
    stage('build') {
        steps {
            sh 'echo Hello, World!'
        }
    }
  }
}

Idea强调'管道'的'p'为错误.错误消息显示:

JenkinsTokenType.COMMENT,JenkinsTokenType.CRLF或JenkinsTokenType.STEP_KEY预期,获得'p'

谢谢你的帮助!



1> Tom..:

如果您希望IDEA将Jenkins文件识别为Groovy文件,则可以将String"Jenkinsfile"添加为Groovy文件的有效文件名模式(通常包含文件结尾).这是"开箱即用"支持,不需要任何额外的插件("Groovy"插件除外,但它已经是IDEA的一部分).

为此,请转到设置菜单,打开"编辑器"项,然后打开"文件类型".现在在上面的列表中选择"Groovy"并添加"Jenkinsfile".如果你想对结束Jenkinsfile的可选文件更灵活,你也可以使用像"Jenkinsfile*"这样的正则表达式.
该设置现在应如下所示: IDEA文件类型设置

您的示例现在在IDEA(具有Dracula主题)中看起来像这样: Jenkinsfile语法高亮

因此,就我所知,IDEA现在提供语法高亮和自动完成功能.它在写作时建议现有的函数/方法名称,但我不是Groovy开发人员,因此我无法判断是否缺少某些建议.


人们想要的功能包括[GDSL](https://gist.github.com/arehmandev/736daba40a3e1ef1fbe939c6674d7da8)的验证/自动完成/ quickdocs以及[linter]的整合(https://jenkins.io/doc/book /管道/开发/#棉短绒).一个理想的插件可以使所有东西"正常工作",配置最少(例如,只需将它指向Jenkins实例).
请注意,groovy文件类型仅在InteliJ和Android studio中可用,*在PyCharm 2018.3.2中不可用。我认为是因为此插件是必需的https://plugins.jetbrains.com/plugin/1524-jetgroovy

2> futchas..:

另一个选择是像这样在Jenkinsfile的顶部使用shabang #!/usr/bin/env groovy。你也可以尝试GDSL:https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij 但到目前为止,它不支持声明管道:HTTPS://issues.jenkins-ci .org / browse / JENKINS-40127


推荐阅读
author-avatar
酒心灵20609
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有