astyle:使用“--exclude”选项排除文件和目录时出现问题

bwa*_*ace 5 astyle

我最近遇到了 astyle 的使用问题,我一直无法弄清楚。我不确定这是否是一个错误,或者我只是错误地使用了 astyle 工具。我尝试使用“--exclude”选项来忽略处理中的文件和目录,但继续收到“不匹配的”排除错误并且 astyle 终止:

bwallace$ ls -l foo.c
-rw-r--r-- 1 bwallace 1767304860 22 Aug 1 21:36 foo.c

bwallace$ astyle ./foo.c --exclude=./foo.c -v
Artistic Style 2.04 08/03/2014
Exclude (unmatched) ./foo.c
Artistic Style has terminated
Run Code Online (Sandbox Code Playgroud)

当我传递“-i”(忽略排除错误)时,astyle 按预期处理文件。因此,“排除”语句似乎有问题。

bwallace$ astyle ./foo.c --exclude=./foo.c -v -i
Artistic Style 2.04 08/03/2014
Exclude (unmatched) ./foo.c
Unchanged ./foo.c
0 formatted 1 unchanged 0.00 seconds 2 lines
Run Code Online (Sandbox Code Playgroud)

这是一个错误吗?我是否错误地使用了 astyle?任何帮助,将不胜感激。

小智 2

排除目录是使用简单的字符串包含匹配而不是匹配实际目录来完成的。我也遇到了同样的问题,并通过查看此处的源代码解决了这个问题。

添加很多选项有点乏味。我发现创建选项文件是最简单的。astyle 网站上有关于放置位置的说明。

要排除多个文件或目录,您需要在文件中有多个“--exclude”选项:

--exclude=dir/subdir1
--exclude=dir/subdir2
Run Code Online (Sandbox Code Playgroud)