首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java编码样式&Emacs cc模式配置?

Java编码样式&Emacs cc模式配置?
EN

Stack Overflow用户
提问于 2018-02-02 08:07:23
回答 1查看 0关注 0票数 0

我在GNU/LinuxDebian机器上使用包含cc模式(c-Version5.32.2)的GNU/Emacs Head。

我试图定义一个自定义样式来管理Java编程语言的代码约定,,,Android为贡献者提供的代码样式指南还有一些自定义规则。

我用了google-c风格作为起点,我设法获得了大多数缩进规则的预期行为,但嵌套条件下产生异常(请参阅下面的代码片段)。

那个地方,我已经定义了(arglist-cont-nonempty . ++)(完整代码:自定义-java-style.el)。大多数按计划缩进:

if ((condition1 && condition2)
        || (condition3 && condition4)
        ||!(condition5 && condition6)) {
    doSomethingAboutIt();

    someMethod(longExpression1, longExpression2, longExpression3,
            longExpression4, longExpression5);
}

嵌套条件被错误地缩进:

if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
                && deviceRegistred.getName().equalsIgnoreCase(deviceName))) {
    doSomethingAboutIt();
}

Ctrl-c Ctrl+s报错Syntactic analysis: ((arglist-cont-nonempty 2447 2450) (arglist-cont-nonempty 2447 2452)),我显然有16个空格(2次)++)缩进而不是8(++)。

我想做下面的缩进:

if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
        && deviceRegistred.getName().equalsIgnoreCase(deviceName))) {
    doSomethingAboutIt();
}

我试图定义一个(,(when (fboundp …)))条件类似于statement-cont但没有成功。

现在,问题是:我的做法是对还是错?如何实现预期的行为(即,当我处于嵌套状态以获得正确的缩进时)?

EN

回答 1

Stack Overflow用户

发布于 2018-02-02 17:57:08

考虑到这一情况:

if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
                && deviceRegistred.getName().equalsIgnoreCase(deviceName))
        || otherCondition) {
    doSomethingAboutIt();
}

如果嵌套条件缩进了8个字符,那么这将是一个令人困惑的变体:

if (!(deviceRegistred.getAddress().equalsIgnoreCase(deviceAdress)
        && deviceRegistred.getName().equalsIgnoreCase(deviceName))
        || otherCondition) {
    doSomethingAboutIt();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档