我已遵循此处的所有建议。
当我按
return
时,我会得到一个新行,该行缩进为 tabs 而不是 spaces。
如果我退格以清除选项卡,然后按 TAB 一系列,它会正确地用空格缩进。
我很确定我的所有设置都已正确设置。我为项目中的每种语言创建了一个新的
Code Style > Formatter
策略,并指定始终使用空格。似乎这些设置部分处于活动状态(例如:当我按 tab
时),但当我使用 return
时处于非活动状态。我尝试重新启动 Eclipse。我现在尝试重新启动计算机...
我正在使用 Mac OS X 10.9.2 和 Liferay Developer Studio (1.6.3.v201312111844) 版本的 Eclipse(但不确定 Eclipse 是基于哪个版本构建的)。
任何人都可以想到另一种设置/解决方案来确保使用空格而不是制表符创建换行符吗?我最近看到http://editorconfig.org/,我想知道是否有一些干扰。
感谢您的任何建议
如果文件具有使用制表符的现有行,则 Enter 将尊重这一点并尝试以类似的方式创建新行(有关解决方案,请参阅 topchef 的评论)。此外,Liferay Studio 的专有设置可能会覆盖 Eclipse 标准首选项(如用户 John 所建议)。
请记住,Eclipse 中的每种类型的编辑器都可以有自己的首选项,也许这就是您在这里遇到的情况。您可以尝试通过打开“首选项”并在搜索字段中搜索“缩进”来找到所有这些内容。这将显示可以配置缩进的所有首选项页面。
另请注意,Formatter 设置对键入时的格式没有任何影响;这是当您选择一个文件或一组文件或文件的一部分并从菜单中选择源>格式时使用的。
我在编辑过程中一直在努力解决这个问题。我发现了一个有趣的事情:
Eclipse 编辑器正在从上一行获取缩进字符提示!
如果您转到使用
tab
字符和 press enter
缩进的行末尾添加代码,它将使用 tab
来缩进新行。如果现有行用 spaces
缩进,则使用 spaces
。每次我看到时间并检查 IDE 设置和首选项中是否有可以更改此行为的设置(但运气不佳)时,我都浪费了很多工时。我只是碰巧注意到了我上面描述的行为。所以技巧是,确保上面的行缩进 spaces
!