【问题标题】:Generated getters and setters code format生成的 getter 和 setter 代码格式
【发布时间】:2016-05-25 22:14:59
【问题描述】:

有没有办法改变netbeans 8.1生成代码的格式?而不是拥有

void setSomething1(bool something1) 
{
    something1_ = something1;
}

bool getSomething1() const 
{
    return something1_;
}

我想要这个代码

void setSomething1(bool something1) { something1_ = something1; }
bool getSomething1() const { return something1_; }

set/get 前缀也可以改变或消失

void setSomething1(bool something1) { something1_ = something1; }
bool something1() const { return something1_; }

netbeans 只允许我更改大括号位置、同一行或新行,但对于这个简短的函数,我只想将它压缩到一行。由于有许多 setter 和 getter,代码开始变得混乱。

如果netbeans本身不能做到这一点,是否可以通过正则表达式或其他一些解决方法?

其他(长体)函数将保留该格式。它使代码更易于阅读。

retType name(args)
{
    body;
}

【问题讨论】:

    标签: c++ regex netbeans formatting


    【解决方案1】:

    此正则表达式将满足第一个要求 (Demo):

    ([\w ]+\s+[gs]et\w+\([\w ]*\)\s*(?:const)?)\s+\{\s+(.*)\s+\}
    

    $1 { $2 } 代替

    然后这个(注意尾随空格):

     get(\w+)\(
    

    $1(尾随空格)作为替换

    【讨论】:

    • 非常感谢,我希望 netbeans 自动拥有它,但这对我也有帮助。我刚刚将您的正则表达式调整为 ([\w ]+\s+[gs]et\w+\([\w ]*\)(?: const)?)\s+\{\s+(.*)\s+\} 我在制表符和空格方面遇到了一些问题,这很好:)
    • @Lukin 如果可行,您可以投票和/或接受答案:)
    • 我给了你upvote,但接受的答案应该是直接在netbeans中解决方案,这是解决方法。但谢谢你。这将为我节省大量时间,但我无法自动重新格式化整个代码。它会将其格式化。
    • 正如我在问题中所说,通过 netbeans 进行格式化设置非常有限。我希望使用一些配置文件或插件可以进行一些高级设置,但我没有找到任何东西。
    猜你喜欢
    • 2016-10-28
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多