2017-04-07 58 views
1

在我的构建中,我想将源文件列表以clang格式提供。我正在MsBuild中这样做。我发现ItemGroup中的文件列表可能很大。我可以像这样格式化命令行:如何在使用MsBuild中的Exec时切断命令行

$(MSBuildThisFileDirectory)clang-format.exe -style=file -output-replacements-xml %(ClangFilesToFormat.Identity) 

但是,我认为我超过了最大命令行长度并且命令失败。所以,我想在批量的X文件中调用clang格式。我不想为每个单独的文件调用它,因为如果我这样做,它太慢了。

如何将一个ItemGroup拆分为X个项目的批次或以其他方式解决此问题?

感谢

回答

0

没有它,是很难说的背景,但我希望的语法%(ClangFilesToFormat.Identity)导致配料(因此,呼吁每一个人文件的命令)。假设clang-format.exe预计这些文件是空格分隔的,我想你会想用@(ClangFilesToFormat, ' ')来代替。首先考虑使用如下所示的诊断线来验证您是否获得了所需的字符串。

<Error Text="ClangFilesToFormat: @(ClangFilesToFormat, ' ')" />