我接手了一个解决方案中的C ++代码。一个解决方案包含许多项目。我编辑.cpp文件,但无法归档它所属的项目,因此我不知道要构建哪个项目。构建整个解决方案需要很长时间。如何找出.cpp文件属于哪个项目?
答案 0 :(得分:4)
在Visual Studio中,单击“编辑” - “查找和替换” - “在文件中查找”
在哪里说'找到什么'' 输入您感兴趣的文件的名称。
在哪里说'看进去' 键入要在其下搜索的路径或使用[...]浏览按钮
在哪里说'看看这些文件类型:' 输入* .vcxproj
它应该在“查找结果”窗口中列出包含该文件的所有项目文件。
答案 1 :(得分:3)
这在Visual Studio 2010中为我提供了诀窍:
工具>选项, 项目和解决方案>一般, 选中“在解决方案资源管理器中跟踪活动项目”
当文件在编辑器中处于活动状态时,这将导致包含该文件的文件夹在解决方案资源管理器中打开。
答案 2 :(得分:2)
我认为这是.vcxproj
文件的重点。项目<->
文件关系是多对多的。也就是说,项目包含许多文件,但也,文件可以属于许多项目(在同一解决方案中)。
因此我不确定您是否可以更轻松地执行此操作,但您可以右键单击您需要了解的文件的标签,然后选择“打开包含文件夹“,查看该文件所在的项目文件夹,并假定它属于该项目。
答案 3 :(得分:0)
如果项目文件构建正确,则无需担心要构建哪些项目。如果您执行Build/Build Solution
(或F7
密钥),将跟踪依赖项,Visual Studio将仅构建依赖于更新文件的项目。
如果重建整个解决方案,这意味着每个项目都取决于您刚编辑的文件,因此 自然应该构建完毕。除非你做过Build/Rebuild Solution
。
答案 4 :(得分:0)
我今天遇到了类似的问题,我在搜索互联网时找到了这个帖子。我在任何地方都找不到,但我碰巧碰巧想出一个。万一其他人需要这个解决方案,这里是:
此解决方案需要Unix实用程序grep。如果你是没有它的Windows用户,请查找CygWin并安装它。它是Windows用户的一组相当有用的Unix程序。无论如何:
在shell(命令提示符,bash等)中,导航到所有项目文件所在的位置。在我的例子中,有一个文件夹包含一堆文件夹,每个文件夹包含一个项目文件。在我的情况下,我会将我的工作目录放在该单个文件夹中。
运行命令:grep -r -i --include=*.vcxproj "YOUR_C/CPP_FILE" *
-r表示递归查看子目录,-i表示忽略大小写(在Windows上很有用,你不知道文件扩展名在项目文件中的含义)。 grep应该返回它已找到的东西,假设该文件包含在项目中。通常有很多东西都是由grep吐出来的,所以对文件的管道可以帮助你筛选它。