我想使用include-you-you-use来重构我的代码,但我需要弄清楚VS正在查找哪些目录。
如何获取项目中文件可见的所有包含路径的列表?
如果我添加了不正确的包含内容,例如" #include"我得到了我想要的列表,但我无法复制并粘贴该死的东西! (而且OCR似乎不起作用)。
如何获取此列表?
答案 0 :(得分:1)
如果您想手动执行此操作但不能很好地缩放,则可以从对话框中复制/粘贴。既然你标记了这个msbuild,那么这是一个使用它的解决方案。创建文件名showincludes.targets并粘贴此msbuild代码:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="ShowIncludes">
<Message Text="$(Include);%(ClCompile.AdditionalIncludeDirectories)"/>
</Target>
</Project>
现在获取任何项目文件的包含列表
msbuild \path\to\vcxproj /p:ForceImportAfterCppTargets=\path\to\showincludes.targets /t:ShowIncludes
这会将所述文件导入到项目中,因此它可以访问所有属性,并打印出编译器默认使用的INCLUDE环境变量的值,以及传递给它的AdditionalIncludeDirectories的值。 msbuild编译。