【问题标题】:SonarLint plugin in Eclipse changes every ".project" fileEclipse 中的 SonarLint 插件会更改每个“.project”文件
【发布时间】:2016-04-15 10:38:29
【问题描述】:

安装 Eclipse 的 SonarLint 插件 (v2.0) 后,工作区中的 .project 文件发生了变化! 它们通过以下方式自动扩展:

<buildCommand>
    <name>org.sonarlint.eclipse.core.sonarlintBuilder</name>
    <arguments>
    </arguments>
</buildCommand>

我们认为这是 SonarLint 插件中的一个错误。只要我不通过特定于 SonarLint 的选项扩展项目,文件 .project 就不应更改。

这个问题可以通过任何插件选项来解决吗?

【问题讨论】:

    标签: sonarlint sonarlint-eclipse


    【解决方案1】:

    在 SonarLint 2.2 版中,.project 文件不再被修改。改进是票的一部分:

    [SLE-80] - Replace SonarLint builder by a ResourceChangeListener

    【讨论】:

      【解决方案2】:

      sonarlintBuilder 使“保存时”分析成为可能。默认情况下,SonarLint 会分析所有项目,因此会在所有项目中添加此构建器。

      您可以决定停止某些项目的自动分析:在项目属性 -> SonarLint -> 禁用自动分析。

      【讨论】:

      • 我可以停止对项目的自动分析,但为时已晚,因为项目文件已在后台修改。我们在工作区中有几十个 Java 项目。现在,SonarLint 插件安装后,所有项目文件都被修改了!对于我们的开发人员来说,这是不可接受的。所有项目文件都来自 CMS,并且在开始时未检出。
      • 我不明白为什么会出现问题:如果您安装了 SonarLint,就意味着您想使用它,对吗?插件向项目添加性质或构建器的情况并不少见,因此需要在 .project 文件中进行修改。您是否会提倡旧行为:SonarLint 默认禁用,仅在每个项目上手动启用?
      • 我们的开发人员向我报告的当前插件行为的缺点: 1. .project 文件可能是只读的,因为没有从 SCM 签出。 2. 更改的.project 文件由于依赖关系导致其他项目的自动构建。 3.更改.project文件后,所有项目都由SL插件自动分析。如果工作区包含大量项目,那么在安装 SL 插件并重新启动 Eclipse 之后,您会觉得 Eclipse 挂起。如果可以为每个工作区显式配置 SL,那就太好了。
      • 我遇到了同样的问题。确实,其他插件暴露了相同的“粗鲁”行为。在未经用户明确同意的情况下更改文件,尤其是典型的版本化文件是不友好的。我禁用了自动分析。
      • 如果有一个选项可以禁用这种侵入性行为,那就太好了。在我看来,只有与 SonarQube 项目的显式绑定才能触发对 .settings 文件的修改。目前,这对我们的团队来说是一件大事。
      猜你喜欢
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 2017-06-04
      • 1970-01-01
      • 2018-09-10
      • 2016-08-11
      • 2011-03-30
      • 2023-04-03
      相关资源
      最近更新 更多