ChatGPT解决这个技术问题 Extra ChatGPT

如何更改 Eclipse 以使用空格而不是制表符?

默认情况下 Eclipse 使用硬制表符缩进。如何将其更改为空格?

@i3ensays 因为选项卡在不同的编辑器或环境中以不同的方式呈现,而空格始终是一致的。
@mmmdreg 正是我的观点。空间是僵化和浪费的。使用选项卡可以让查看者自由地根据需要配置他们的编辑器。我喜欢我的标签显示为 2 个空格,我的同事 4。如果不使用标签,这是不可能的。当我们在各自的编辑器中格式化时,我和我的同事在这里争吵;标签不是问题;这就是它们被发明的原因(我怀疑)。
@i3ensays 阿门,兄弟! 10 多年来,我一直在努力让人们理解这个概念 (rizzoweb.com/java/tabs-vs-spaces.html)。真正让我震惊的是,作为程序员,你会认为每个人都会理解抽象的概念(制表符是代码缩进的抽象,而固定数量的空格是硬编码的实现)——但是,唉,看起来许多程序员看不到这里的抽象。
@i3ensays 你的团队应该有一个编码标准,清楚地说明代码的格式。这将通过防止您提到的战斗来节省时间。您应该尽快采用一个,但该标准肯定会 100% 声明永远不要使用标签,因为这场圣战是由“太空人”在很久以前赢得的,所以标准对您没有帮助。除了对齐问题之外,仅使用空格的最大原因之一是修订控制工具和代码审查员不必处理这个问题。 20 年前,我开始站在你这边,但最终学会了拥抱这个空间。
原因是人们最终会不可避免地使用制表符和空格的组合,并且在某些编辑器中代码将无法正确显示。如果每个人都只使用空格,那么这永远不是问题。

i
ikellenberger

Java 编辑器

单击窗口»首选项展开 Java»代码样式单击格式化程序单击编辑按钮单击缩进选项卡在常规设置下,将选项卡策略设置为:仅空格单击确定以应用更改。

[注意:如有必要,使用新名称保存配置文件作为默认配置文件不能被覆盖。]

默认文本编辑器

3.6 版之前:

Window->Preferences->Editors->Text Editors->Insert spaces for tabs

版本 3.6 及更高版本:

单击窗口»首选项展开常规»编辑器单击文本编辑器检查选项卡的插入空格单击确定以应用更改。

请注意,默认文本编辑器用作 Eclipse 中许多非 Java 编辑器的基础。令人惊讶的是,此设置直到 3.3 才可用。

C / C++

单击 Window » Preferences Expand C/C++ » Code Style 单击 Formatter 单击 New 按钮以创建新的配置文件,然后单击 OK 继续 单击 Indentation 选项卡 在 General Settings 下,将 Tab 策略设置为: Spaces only 单击 OK ad fucking 应用更改.

HTML

单击 Window » Preferences 展开 Web » HTML Files 单击 Editor 在 Formatting 下,选择 Indent using spaces 单选按钮 单击 OK 应用更改。

CSS

对 HTML 遵循相同的说明,但选择 CSS 文件而不是 HTML 文件。

JSP

默认情况下,JSP 文件遵循 HTML 文件的格式首选项。

XML

XML 文件间距在首选项中配置。

单击窗口 » 首选项 展开 XML » XML 文件 单击编辑器 使用空格选择缩进 如果需要,您可以指定缩进大小:要缩进的空格数。


对于安装了 MyEclipse 或在 Eclipse 之上构建的任何其他 IDE 的用户,您可能有另一个编辑器覆盖了您的设置。 MyEclipse 和 JavaScript 就是这种情况。我在文本编辑器中启用了“为制表符插入空格”设置,但仍在使用制表符而不是空格。我正准备收工并将其作为一个错误注销,但随后我在“关联编辑器”列表中看到了 JavaScript (*.js) 文件的第二个编辑器。
这可能是一个有用的提示,但如果您遇到相同的行为,请检查文件是否有任何其他关联的编辑器,因为它们可能会覆盖您的设置。为此,请转到 Window > Preferences > General > Editors > File Associations > 然后在该列表中查找破坏您一天的文件扩展名 > 单击它并查看下面的 Associated Editors 列表
对于现有的 Java 文件,按 Ctrl-A 突出显示所有内容,然后按 Ctrl-I 应用当前缩进。否则现有的制表符将阻止使用 Enter 创建的新行中的空格。它还用空格替换现有选项卡。
对于 C/C++,还必须更改 C/C++->“代码样式”。这是迄今为止这个伟大的软件中最烦人的。
更详细地说,对于 C/C++ 和 Ecplipse 3.6 或更高版本,第二步是:Window >偏好> C/C++ >代码风格 >格式化程序>新建,然后选择任何配置文件名称,确保已启用 Open the edit dialog now,点击 OK,然后在 Indentation 标签下,您将看到 Tab Policy。将其设置为 Spaces Only
A
Alex Logvin

对于默认文本编辑器:

通用 » 编辑器 » 文本编辑器 » 为制表符插入空格(检查一下)

对于 PHP:

PHP » 代码样式 » 格式化程序 » 制表符策略(选择“空格”)

PHP » 代码样式 » 格式化程序 » 缩进大小(设置为 4)

对于 CSS:

网页 » CSS » 编辑器 » 使用空格缩进(选择它)

网页 » CSS » 编辑器 » 缩进大小(设置为 4)

对于 HTML:

网页 » HTML » 编辑器 » 使用空格缩进(选择它)

网页 » HTML » 编辑器 » 缩进大小(设置为 4)

对于 XML:

XML » XML 文件 » 编辑器 » 使用空格缩进(选择它)

XML » XML 文件 » 编辑器 » 缩进大小(设置为 4)

对于 Javascript:

Javascript » 偏好设置 » 代码样式 » 格式化程序 » 编辑 » 缩进(选择“仅空格”)

重命名格式化程序设置配置文件以保存它

对于 Java:

Java » 首选项 » 代码样式 » 格式化程序 » 编辑 » 缩进(选择“仅空格”)

重命名格式化程序设置配置文件以保存它


我在 Preferences 的根目录中看不到 Web 或 Javascript 选项(不过我确实有一个 Web Perspective 可用),我想将选项卡设置为仅用于 html、css 和 javascript 文件的空格。我正在使用 Helios Eclipse for Java Developers,知道如何获得该选项吗?
这些设置是我在 Eclipse PDT(PHP 开发工具)中看到的。 Eclipse PDT 建立在 Eclipse WTP(Web 工具平台)之上,其中包括 JavaScript 开发工具(JSDT)和各种 Web 格式的源代码编辑。这可能是你所缺少的。
+1 用于 Java 的东西,这是绝对必要的,因为它的默认设置会覆盖一般的文本编辑器设置。
对于 C,代码样式 -> 格式化程序 -> 编辑 -> 缩进 -> 常规设置 -> 选项卡策略
谢谢!这在火星上运行良好。令人失望的是文本编辑器选项存在但什么都不做!
A
Alex Logvin

changing tabs to spaces in eclipse

窗口 » 首选项 » Java » 代码样式 » 格式化程序 » 编辑 » Indentation (选择“仅限空格”)


对于 XML , xml-->xml files-->editor,然后使用空格选择缩进,缩进大小 2。
A
Alex Logvin

对于 CDT:

转到窗口/首选项 » C/C++ » 代码样式 » 格式化程序 » 新建

创建一个新的,因为内置配置文件无法更改

MyProfile(为配置文件选择一个名称)

缩进 » 制表符策略(仅选择空格)


A
Alex Logvin

只是为偶然发现此线程的人们提供的快速提示;在您的项目中,还有一个地方也可以设置此设置!

Eclipse 支持特定于项目的设置,一些项目将使用它们自己的非托管选项卡/空格设置,这些设置除了当前项目属性外不会显示在任何地方。

这可以通过以下方式进行管理:

在包资源管理器中右键单击当前项目

属性 » Java 代码风格

关闭所有项目特定的选项

如果您将其他人的代码导入到您的 Eclipse 中,这通常只会成为问题。


A
Alex Logvin

对于默认编辑器:

窗口 » 首选项 » 编辑器 » 文本编辑器 » Insert spaces for tabs

https://i.stack.imgur.com/VwuRQ.png

对于 Java 编辑器

窗口 » 首选项 » Java » 代码样式 » 格式化程序 » 编辑 » 缩进 » Tab policy “仅限空格”

https://i.stack.imgur.com/OTqIq.png


u
user1978019

当我遇到这个问题时,我在所有我能找到的地方都将“使用制表符的空格”设置为 true,但我仍然得到制表符。最终是因为制表符在文件的其他地方使用,并且它试图进行智能缩进或令人沮丧的事情。

通过选择文件的全部内容并在 Mac 上按 command+shift+f 解决了这个问题。这会将给定的格式应用于文件。我不知道 Windows 上的相同键绑定,但试试看。那时我开始得到预期的行为。


为了更模块化地解决此问题,用户还可以对 \t 执行查找/替换(确保启用正则表达式)并替换为所需数量的空格字符
在 Windows 上格式化文件的键非常相似 - Ctrl+Shift+F
k
karel

转到 Window -> Preferences 并键入 tab 作为搜索文本(将显示如下所示的对话框):

https://i.stack.imgur.com/pkVWg.png

转到突出显示的部分以更改选项卡策略。对于编辑器设置,它主要是使用空格缩进(也如上所示)。

对于格式化程序设置,您需要编辑活动配置文件并更新选项卡策略(在“缩进 -> 常规设置”下可用:

https://i.stack.imgur.com/AsW1N.png


K
Khokhar

面向 C/C++ 开发人员的 Eclipse IDE,版本:Helios Service Release 2

您需要通过按“窗口->首选项->代码样式”中的新建按钮来创建新的配置文件

转到缩进选项卡并选择“选项卡策略 = 仅空格”

面向 C/C++ 开发人员的 Eclipse IDE,版本:Kepler Service Release 1

按照以下路径创建新配置文件:“Window > Preferences > C/C++ > Code Style > Formatter”

转到缩进选项卡并选择“选项卡策略 = 仅空格”


L
Luke H

请务必检查 java 格式化程序,因为它会覆盖“为制表符插入空格”设置。去:

Java->Code Style"->Formatter->Edit->Identation

注意:您需要创建一个自定义格式才能保存您的配置。


A
Alex Logvin

我发现这个问题的解决方案非常简单,并且始终有效。它是更改 eclipse 设置文件。

例如(更改 HTML 缩进大小):

找到 org.eclipse.wst.html.core.prefs 文件,该文件应该在 your_workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/ 添加/更改到文件中的行:

indentationChar=space

indentationSize=4

在 Ubuntu 14.04.03 LTS 和 eclipse 4.5 上,我无法更改标识大小始终锁定且不可更改。这解决了我的问题。
S
Santosh

Window->Preferences->Java->Code Style->Formatter->Edit->Indentation = "Spaces Only"


A
Alex Logvin

在 Eclipse 中转到 Window » Preferences 然后搜索 Formatter。

您将看到各种粗体链接,单击每个粗体链接并将其设置为 use spaces 而不是 tabs

在 java formatter 链接中,您必须编辑配置文件并选择标签策略,spaces only in indentation tab


C
Community

在eclipse格式的xml中:

对于选项卡:

<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="tab"/>

对于空间:

<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>

C
Chester

不要错过两者的制表策略 * 仅限空格 * 使用空格缩进换行

我只检查了后者并将组合框保留为仅选项卡,这一直失败 CheckStyle.. 仅供参考,我说的是首选项 > Java > 格式化程序 > 编辑...


C
Christophe Roussy

还可以考虑使用 .editorconfig 文件:https://marketplace.eclipse.org/content/editorconfig-eclipse。不使用 Eclipse 的人也可以从中受益,在最坏的情况下,它可以作为指导。注意:我不会进入制表符与空间大战,而是使用空格 FTW :-)


t
turong

您绝对可以使用 XML 文件来配置您的编码风格的格式化程序。格式化程序文件可帮助您在团队成员中拥有相同的编码风格和准则。

即使您在使用 Eclipse 编码时可能使用 Tab 速记键,在下面添加这些设置变量也会有 a tab= 2 spaces 并转换为空格。

<setting id="org.eclipse.jdt.core.formatter.tabulation.size" value="2"/>
<setting id="org.eclipse.jdt.core.formatter.tabulation.char" value="space"/>    
<setting id="org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations" value="yes"/>

最好的,


W
Wai Ha Lee

单击窗口 » 首选项

展开 Java » 代码风格

单击格式化程序

点击新建

选择个人资料名称

点击确定

单击编辑按钮

单击缩进选项卡

在常规设置下,将选项卡策略设置为:仅限空格

单击确定。


I
Ironcache

作为对其他答案的补充,在 Mac OS X 上,“首选项”菜单位于 Eclipse 下,而不是 Window 下(与 Windows/Linux Eclipse 发行版不同)。其他一切仍然与过去其他答案所指出的相同。

IE:Java Formatter 可用于:

Eclipse >      | # Not Window!
Preferences >  |
Java >         |
Code Style >   |
Formatter      |

从这里,编辑格式化程序,并且可以在“缩进”下设置选项卡策略。


p
piet.t

在 Mac OS X 上的 eclipse mars (EE) 中,我可以在首选项中找到它的唯一方法是打开首选项对话框并键入 Formatter,然后选择 Java->Code Style->Formatter。

Java->Code Style 无法访问 Formatter!


A
Alex Logvin

不要忘记 ANT 编辑器

由于某种原因,Ant Editor 没有出现在 'tab''spaces' 的搜索结果中,因此可能会被遗漏。

在 Windows > 首选项下

Ant » Editor » Formatter » Tab size: (设置为 4)

Ant » Editor » Formatter » 使用制表符代替空格(取消选中它)


F
Fritz

这是使用 Eclipse 格式化程序的一种方法:

https://i.stack.imgur.com/Rl6DL.png