可以检查哪些IDE设置?

时间:2018-08-28 14:14:47

标签: eclipse intellij-idea version-control ide

IDE为每个项目/工作区生成一些配置文件

IntelliJ的文件夹为.idea/,文件为.iml

Eclipse具有其.classpath.project文件。 Eclipse Maven集成曾经需要在pom.xml中进行m2e-lifecycle配置(不确定是否仍然如此)

我过去看过项目,

  • 其中Eclipse工件(.classpath,.project)已存储在SVN中,并且通常会破坏每个开发人员的工作空间。
  • 甚至禁止了m2e-lifecycle配置的地方
  • 允许m2e-lifecycle配置,但不允许.classpath或.project
  • 检入.idea/文件夹的子集的原因是,其中包含运行配置
  • 通常.gitignore文件包含IDE特定的文件。

除了.gitignore中的IDE工件列表之外,我倾向于将所有IDE工件(包括配置)排除在源代码之外。

但是我想知道,什么是拒绝签入的好理由

  • IDE生成的工件(例如.classpath或* .iml)
  • IDE特定的配置(即在maven poms中)

进入SCM?

还是一般的不参加?

2 个答案:

答案 0 :(得分:3)

如果使用Maven / Gradle / SBT,则没有提交* .iml文件的意义,因为它们是从Maven / Gradle / SBT重新生成的。这些构建系统也会自动生成工件,因此,除非您创建自己的IDE工件,否则不应提交工件配置。

另请参阅How to manage projects under Version Control Systems

另请参阅类似的问题:Which files in .idea folder should be tracked by Git?

答案 1 :(得分:2)

为什么要忽略它们:

  • 您希望能够使用自己选择的构建工具(例如maven,gradle等)在您喜欢的任何构建服务器(实际上支持它们)上构建项目
  • 您希望能够使用任何IDE加载项目(IDE项目设置中没有任何怪异之处,以使其无法正常工作)

为什么要提交它们:

  • 在项目中都使用相同的IDE(也许也:都具有相同的目录结构;注意:我绝不会强迫任何人使用特定的IDE或固定的目录结构,因此我实际上并不喜欢这一点;-))
  • OR(可能更有效):您是唯一使用该项目的人,并且希望快速/平稳地(重新)设置所有内容

关于IDE设置,例如格式设置等,类似的内容也适用。只要所有使用相同的IDE共享才有意义。如果使用不同的版本,则可能需要使用版本控制工具来实际格式化代码(格式化提交挂钩,在比较不同修订版之前进行格式化等),否则每个人都应该同意一个通用格式化程序。

关于诸如m2e-lifecycle之类的构建文件中的IDE特定设置: ...这真的取决于。我宁愿尝试使用无需额外的m2e-lifecycle-boilerplate即可实际运行的插件配置。最后,它不会使构建文件更具可读性;-)

总结(我的看法;-))我仅在单独处理项目时才提交IDE特定的文件,在任何其他情况下,我都没有像队友一样提交它们。如果他们是在项目中提交的,我通常不会像我通常在另一个IDE上那样重复使用它(或仅通过插件使用格式化程序)。