Eclipse C++:批量格式化源文件

11

我能否使用Eclipse批量格式化大量C ++文件(数量在几千个左右),而无需在IDE中逐个打开每个文件?


更新:

现在有一些人发布了Java IDE的解决方案,但是这对于C++ IDE似乎不起作用,因为项目资源管理器中没有“源”子菜单。 :(


没有直接回答问题的答案,所以我将赏金和被采纳的答案分别分配给了两个回复。 - user541686
5个回答

1

将被接受的答案转移到此处(尽管我通常不喜欢这样做),因为它实际上回答了问题。 :) 非常感谢您提供的信息! - user541686
菜单选项似乎是一个无操作 :( - user1133275

0

不仅限于Eclipse...

我们的SD C++ Formatter可以重新格式化源文件。

  • 对于您的问题有两个不错的功能:您可以生成一个项目文件,告诉它要重新格式化哪些文件。它会批量处理所有文件。

  • 它使用完整的C++解析器来进行操作,构建一个AST,并从AST中漂亮地打印结果。它不能破坏您的代码。如果您要重新格式化数千个文件,您可能会喜欢这个功能。


没有回答问题。:( - user541686
回答问题:你需要构建一个文件列表,然后运行格式化程序。你不必在IDE中逐个打开文件。这就是你所要求的。由于你可以调用它作为批处理脚本,如果你坚持从IDE中运行它,你肯定可以配置Eclipse来运行它。 - Ira Baxter
并不是,因为问题是如何使用Eclipse的格式化程序,而不是外部格式化程序。如果我正在寻找不同的代码格式化程序,那么在Google上找到它并不难。想想看,如果没有人找到解决方法,我可能根本不会授予奖励。:\ - user541686
@Mehrdad:好的,如果你坚持使用Eclipse的格式化程序,那么你是正确的,它并没有回答问题。 - Ira Baxter

0

我没有尝试过,不过使用Jindent命令行怎么样?

假设你只想这样做一次,即使解决方案有点复杂,只要得到正确的结果就可以了。如果需要,在不同的文件/路径上使用Perl生成一个shell脚本来多次调用美化器并使用不同的选项。你甚至可以尝试AutoHotKey,这是一个非常丑陋但也许成功的方法。


Jindent是商业软件还是免费的?(另外,我用的是Windows系统。) - user541686

0

谢谢提供的链接...不幸的是,我特别想让Eclipse工作,但如果没有人找到让Eclipse实现这一点的方法,我很可能会授予您奖励。 - user541686

-1
在Eclipse 3.0或更高版本中,您可以右键单击文件夹,然后选择“源”>“格式化”。这将使用项目特定的设置对文件夹中的所有源文件进行格式化。
为了让此功能正常工作,必须先检出文件(因此必须可写)。

有人已经放了这个答案,然后又把它删除了;它是针对Java而不是C++的...在CDT中没有“源”子菜单。 - user541686
你是对的,但只适用于Java的Eclipse。如果你在C++的Eclipse中下载并尝试它,菜单将不可用。 - Harry Joy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接