Eclipse:使用制表符和空格进行缩进

Posted

技术标签:

【中文标题】Eclipse:使用制表符和空格进行缩进【英文标题】:Eclipse: use both tabs and spaces for indentation 【发布时间】:2018-01-04 06:47:07 【问题描述】:

我正在从事的一个项目的缩进标准如下:

单个制表符宽度为 4 个空格字符。 双制表符宽度是显示为 8 个空格宽的制表符。

例子:

单缩进的行以四个空格开头 双缩进的行以制表符开头 三次缩进的行以制表符开头,后跟四个空格 4 倍缩进的行以两个制表符开头 ...等等

在 Vim 中,必要的配置是通过以下方式实现的:

:set tabstop=8 softtabstop=4 noexpandtab

如何配置 Eclipse 以自动执行此缩进标准?

【问题讨论】:

Window > Preferences: General > Editors > Text Editors 您可以设置 Display tab width 并启用或禁用 Insert spaces for标签。你能举个例子说明这些设置对你来说不够用吗? @howlger:我在问题的正文中给出了一个详尽的例子。我不确定我还能提供什么,但我感谢您的回复。 【参考方案1】:

我不相信 Eclipse CDT 支持这种缩进样式。

Eclipse 是开源的;你可以考虑contributing a patch 来增加对这种风格的支持。

【讨论】:

【参考方案2】:

Eclipse 没有内置该插件,但看起来插件 Vrapper (Vim) 提供了您正在寻找的东西。

见Vrapper > Documentation > Configuration:

softtabstop - 当使用空格作为制表符时,将其设置为每个 Tab 键按下并点击时插入的空格数 InsertMode 中的 Backspace 将删除那么多空格,就好像你有 删除了一个制表符。 制表符 - 由i_ctrl-ti_ctrl-d:retab 使用。确定启用xpandtab 时替换每个制表符的空格数。 expandtab/noexpandtab - 由i_ctrl-ti_ctrl-d:retab 使用。确定 :retab 是否应将所有制表符替换为空格 (true) 或空格替换为制表符 (false)。还确定i_ctrl-ti_ctrl-d 是否将tabstop 空格替换为制表符。

【讨论】:

感谢您的回复。我试过这个插件。不幸的是,“softtabstop”对“noexpandtab”设置无效。这在您引用的文本中有所暗示:“softtabstop - 当使用空格作为制表符时,...” There are more Vim plug-ins available.。也许你会在那里找到它。如果没有,您可以向最符合您需求的插件发送功能请求。【参考方案3】:

Eclipse 本身就支持这一点。

我的eclipse版本:

结果(见图片中的 cmets):

第 1 步:

第 2 步:

第 3 步:

第 4 步(最重要的一步):

【讨论】:

以上是关于Eclipse:使用制表符和空格进行缩进的主要内容,如果未能解决你的问题,请参考以下文章

text 缩进中不一致使用制表符和空格

Python3编码规范

TabError:缩进中制表符和空格的使用不一致 - 集成 MailChimp Django

如何在 IntelliJ IDEA 中使用制表符进行缩进?

如何设置一个tab为4个空格

编辑器STM32CubeMx生成的代码改为4空格制表符缩进