10

我必须遵循一些严格的 Java 代码缩进规则。

在很多情况下,我必须跳到当前行的第 26 列或第 28 列。我的原始位置和第 26/28 列之间的字符应该是空格字符(不是 TAB)。

有没有办法在 Eclipse 中使用一些键盘快捷键(或其他方式)来做到这一点?我检查了所有可用的代码样式规则,但找不到任何可以帮助我的东西。

例子 :

    package                    com.companyname.something;

    import                     java.io.*;

    public                     class Something
                               extends SomethingElse
                               implements AnotherThing
    {
      public static final String
        SOME_NAME            = "SomeValue";

      private int              _var;

    }

如您所见,遵循这些标准需要输入大量空格。有没有办法在 Eclipse 中轻松做到这一点?

4

5 回答 5

10

这不是一个好的做法,但您可以使用它

在eclipse中创建模板 Window -> Preferences -> Java -> Editor -> Templates -> New...

Name : 1
Pattern :${cursor}<give one space>

-

Name :2
Pattern :${cursor}<give two space>

.

.

.

Name : 26
Pattern :${cursor}<give 26 space>
于 2014-12-20T11:02:53.673 回答
2

尽管这个要求很荒谬,但一个 Formatter 首选项设置可以帮助您遵守它。打开Java Code Style > Formatter首选项(工作区或项目级别)并单击Edit...以修改活动配置文件(或者如果您不希望此更改影响您编写的所有代码,则创建一个新配置文件)。

在此处输入图像描述

在 Formatter 对话框中,选择 Indentation 选项卡,然后将Tab Policy设置为Spaces Only并将Indentation size设置为 28。

在此处输入图像描述

使用这些设置,Tab将跳转到第 28 列,您可以Backspace根据需要从那里开始。

请注意,这几乎会破坏使用 Eclipse 的“批量格式化”功能(右键单击并选择 Source > Format)的能力,因为它将处理所有缩进位置有 28 个空格,这不是你的强制风格似乎想要。这仅在打字时有帮助。


尽管这有助于完成这些愚蠢的任务,但我还是重复我上面的评论,这里最好的建议是考虑换一个新雇主;如果这是强制性的事情,那么可能还有许多其他愚蠢的问题需要处理。

于 2014-12-19T18:06:45.223 回答
1

看看这个:日食缩进

不要选中该框,而是将标签宽度更改为 27 或 28 或您需要的任何值。

于 2013-02-27T23:00:59.280 回答
1

并不完全符合要求,但您可以在 Eclipse 运行时使用 Sublime 进行编辑。请参阅 https://superuser.com/questions/636699/how-to-go-to-column-by-its-number-in-sublime-text-3的最佳答案

快速的网络搜索显示了一些 Eclipse 插件。你试过http://jalopy.sourceforge.net/existing/indentation.html吗?(也有商业版)

如果没有其他方法适合您,您可能可以编写一个 Python 脚本并设置一个热键以在当前文件上运行它。或者你可以编写一个 AutoHotkey 脚本来使用 sendkeys 我很确定,但不完全确定如何。AutoHotkey 论坛可能是一个不错的起点(http://www.autohotkey.com/board/forum/48-support/)。

但在我做任何事情之前,我会问我的老板她/他用什么。如果他们说空格键,我会难以置信地看着。

于 2014-12-23T00:57:02.880 回答
0

我没有找到我想要的东西,但我找到了一些有用的东西。

我没有定义将光标跳转到第 28 列的快捷方式,而是设法用一条垂直线标记第 28 列,这样我就可以轻松找到它,而无需经常检查当前列号:

在此处输入图像描述

这可以在 Window -> Preferences -> General -> Editors -> Text Editors 中进行配置。

您必须选中“显示打印边距”并将“打印边距列”设置为 27。您甚至可以配置垂直线的颜色(我选择了浅灰色,以免分散我的注意力)。

在此处输入图像描述

于 2020-06-25T12:55:46.077 回答