gpt4 book ai didi

c++ - 如何为代码块禁用 Eclipse CDT 代码格式化程序

转载 作者:IT老高 更新时间:2023-10-28 21:58:18 28 4
gpt4 key购买 nike

CDT 代码格式化程序有相当多的选项可供选择,但它似乎并没有允许人们告诉它忽略一段代码的功能。此功能存在于 Java 代码格式化程序中:

// @formatter:off
... // code that should not be formatted
// @formatter:on

此功能是否存在而我只是不知道,或者有人知道任何体面的解决方法吗?

在我的特定情况下,我正在尝试定义我想要具有特定布局的数据结构(枚举类型和字符串数组)。

最佳答案

使用Astyle(Artistic Style)格式化程序,它远远优于Eclipse CDT内置格式化程序,并且具有您需要的功能:

http://astyle.sourceforge.net/astyle.html#_Disable_Formatting

例子:

#include <iostream>

int main(int argc, char** argv)
{
// *INDENT-OFF*
std::cout<<"hello world"<<'\n';
// *INDENT-ON*
}

使用 astyle 格式化不会缩进//INDENT-OFF 和//INDENT-ON 之间的代码,但它也会禁用 astyle 所做的任何其他格式化功能,就像本例中指令的间距一样。

我自己使用它配置为外部工具。唯一的问题,外部工具没有热键,但是“运行上次启动的外部工具”只有一个热键,如果你只使用一个外部工具,它的工作原理是一样的。

更多配置细节(linux):

风格:

您可以从您的分发存储库或通过官方网站轻松获取它。

使用格式设置设置配置文件:

http://astyle.sourceforge.net/astyle.html#_Options_File

我使用主文件夹变体,只需在您的 $HOME 中创建一个 .astylerc,我的包含:

--suffix=none
--style=allman
--indent=tab=4
--max-code-length=70
--close-templates
--keep-one-line-blocks
--break-elseifs
--break-closing-brackets
--align-reference=type
--align-pointer=type
--indent-classes
--indent-modifiers
--indent-switches
--indent-cases
--indent-labels
--indent-col1-comments
--min-conditional-indent=0
--pad-oper
--pad-header
--unpad-paren

eclipse :

“运行”菜单 --> 外部工具 --> 外部工具配置... 添加一个新的“程序”并在配置窗口中:

  • 位置:/usr/bin/astyle(使用 whereis 或 locate 来检查)

  • 工作目录:${project_loc}

  • 参数:${selected_resource_loc}

在同一窗口中,刷新标签页:

  • 完成后勾选刷新资源。

  • 勾选“所选资源”

同一窗口,通用标签:

  • 在收藏夹菜单中显示,勾选“外部工具”

关于c++ - 如何为代码块禁用 Eclipse CDT 代码格式化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16886890/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com