我们已经尝试了以下方法:
在网上搜索了好几天好几个小时后,我们仍然没有找到关于这个问题的有用资源。因此,在这里提出一个新问题似乎是有道理的。
我们正在IntelliJ idea中开发Java项目,并希望将我们的构建与Jenkins集成。在Idea中创建Jenkins文件时,不会得到语法高亮显示或自动完成。由于我们是詹金斯的新手,这些功能对我们来说真的很有用。我们怎样才能让Idea更支持詹金斯档案?
如果在idea中无法获得Jenkins文件的语法高亮显示和自动完成,那么其他哪些编辑器会有所帮助?
请注意:
>
我们使用的是java项目,而不是groovy项目。
我们已经尝试了插件https://github.com/oliverlockwood/jenkinsfile-idea-plugin.当插件被激活时,Jenkinsfile被识别为这样,但是我们得到的不是语法高亮显示,而是错误消息,请参见下面。
pipeline {
agent { docker 'maven:3.3.3' }
stages {
stage('build') {
steps {
sh 'echo Hello, World!'
}
}
}
}
Idea将管道的
p
突出显示为错误。错误消息如下:
JenkinsTokenType.COMMENT, JenkinsTokenType.CRLF or JenkinsTokenType.STEP_KEY expected, got 'p'
感谢任何帮助!
另一个选择是在Jenkinsfile上面使用shaang,就像这样#!/usr/bin/envgroovy。你也可以尝试gdsl:https://st-g.de/2016/08/jenkins-pipeline-autocompletion-in-intellij但是到目前为止它不支持声明式管道:https://issues.jenkins-ci.org/browse/JENKINS-40127
最后,我们找到了一个适合我们的解决方案,并为idea中正常Java项目中的Jenkinsfile提供语法突出显示和代码完成。解决方案取自这里,这里(以及额外的个人实验/研究)
>
从Jenkins实例下载pipeline GDSL文件,该文件应该可以通过以下链接获得:https://yourJenkinsInstance.tld/pipeline-syntax/gdsl,并将其添加到Java项目的类路径中。例如,通过创建一个新文件夹src/main/jenkins,将管道gdsl文件放在那里,并在IntelliJ Idea中将该文件夹标记为源根目录
添加"Jenkinsfile"作为groovy文件的有效文件名模式,如下所述
为了避免错误消息,“节点”不能应用于“(groovy.lang.Closure)
//无检查功能检查
如果您希望IDEA将Jenkinsfile识别为Groovy文件,那么您可以添加字符串Jenkinsfile作为Groovy文件的有效文件名模式(通常包含文件结尾)。这是支持开箱即用的,不需要任何额外的插件(除了Groovy插件,但它已经是IDEA的一部分)。
据我所知,IDEA现在提供了语法高亮显示和自动完成。它在编写时建议现有的函数/方法名称,但我不是Groovy开发人员,因此我无法判断是否缺少一些建议。
问题内容: 很快,我将被迫在Haskell中提出一个项目,该项目应该突出显示Java语法。我做了一些研究,发现Happy可能是一个解决方案(因为它是类似yacc的解析器)。还提到了野牛和帕尔塞克。由于我是Haskell的新手,所以我真的对启动该项目一无所知。任何提示都会有很大帮助。 谢谢! 问题答案: 由于我是Haskell的新手,所以我真的不知道如何启动该项目 啊,这才是真正的问题。要开始学习H
我喜欢PyCharm,但是似乎找不到启用Ruby语法突出显示的方法。我知道RubyMine,但我不会只为这个基本功能购买许可。PyCharm中可以添加Ruby语法高亮显示吗?
我正在使用pycharm进行我正在从事的python项目。我在根目录中有几个 cfg 文件和一个 .pylintrc 文件。 但是,pycharm 不会检测到这些文件以进行语法突出显示。例如,WebStorm 检测到 .eslintrc 文件并非常优雅地突出显示语法。 Pycharm建议为cfg文件使用上下文自由语法插件,但我认为它不是python cfg文件的正确类型。 我如何配置py 这是我的
我环顾四周,找不到一种自动完成这项工作的方法。所以: 我在vim中内置了一些语法高亮,我想转移到vscode。我至少有两个部分卡住了。 到目前为止,我的情况是这样的:我已经构建了一个vscode语言扩展——设置了一些基本的语法规则,并将其复制到vscode config文件夹中。 我遇到麻烦的部分-我可以在某些字段的含义中澄清一下-命名约定。 和语法的嵌套解析,这些东西只出现在其他元素中。 下面是
问题内容: 我正在尝试突出显示与查询匹配的文本,但是我不知道如何使标记显示为HTML而不是文本。 当前输出: Java 脚本 所需的输出: Java 脚本 问题答案: 这是我简单的twoliner辅助方法: 它返回一个跨度,其中所请求的零件以标签突出显示。如果需要,可以简单地将其修改为使用其他标签。 更新: 为避免唯一键丢失警告,这是一个基于跨度并为匹配的零件设置fontWeight样式的解决方案
问题内容: 我很好奇是否有人知道一旦/当用户完成在网页上的文本选择后,我将如何触发一个函数运行?我希望用户能够选择文本,并且在短暂的延迟后(或立即,此时无所谓),文本附近会出现一个叠加按钮,用户可以单击该按钮,然后我返回并运行我的更多基于选择的代码。这是用于Firefox扩展。 我能想到的一个类似示例就像在IE中一样,您可以在其中选择文本,然后显示“ Web加速器”。我99%确信我知道如何实际覆盖