问题描述
我正在使用vars/
中的脚本和src/
中的类为Jenkins开发共享库。
我有两个绊脚石:
-
我使用特定于Jenkins的方法
sh
或echo
。它是灰色的,因为Eclipse无法将其识别为适当的Groovy方法。 有没有办法让这些“已知”给Eclipse? -
我用两种方法
vars/foo.groovy
和call()
创建文件helper()
。在程序的任何地方使用foo()
会导致其变灰,这表明Eclipse不知道该指的是什么。 是否有办法使Eclipse了解foo()
现在是合法方法?
请注意,在foo.groovy
内部,call()
和helper()
均被视为有效方法。类src/clazz.groovy
的情况也是如此-使用new clazz()
在共享库中随处都可以识别为有效代码,并且所显示的文档指向clazz.groovy
文件。
如果在Jenkins上运行,所有这些都可以正常工作,这纯粹是关于语法突出显示,并且如果可能的话,将鼠标悬停在函数上时显示Javadoc。但是,语法高亮是主要问题,因为部署共享库是PITA,只是为了注意到我没发现的某个功能中有错别字,因为它全部变灰了。
默认的Groovy语法高亮显示有效,这与直接与Jenkins和/或共享库有关的方法有关。
This并没有帮助我,因为它指的是IntelliJ,可惜不是一个选择。
解决方法
您可以使用快速辅助(Ctrl + 1)添加单个推理建议,也可以创建DSLD以提供更完整的斜杠复杂信息。如果您的脚本使用的是由特定类型定义的方法,则可以使用@BaseScript注释。
如果您的脚本(位于vars文件夹中)不属于项目类路径,则它们将无法用于导入或静态导入。