如何在解决方案资源管理器上保留源文件夹层次?

Ara*_*hor 5 c++ cmake visual-studio solution-explorer visual-studio-2015

我在Linux上创建了一个C++项目,我将源文件分组到许多目录中以组织自己.

我正在使用CMake进行编译,每个子目录上都有一个CMakeFiles.txt.

srcs
|--folderA
|  |--Toto.cpp
|  |--Tata.cpp
|
|--folderB
|  |--Foo.cpp
|  |--Bar.cpp
[...]
Run Code Online (Sandbox Code Playgroud)

最近,我使用Visual Studio 2015打开它,它找到了每个源文件,但只是将整个列表放在解决方案资源管理器的"源文件"文件夹中.

Source Files
|--Toto.cpp
|--Tata.cpp
|--Foo.cpp
|--Bar.cpp
Run Code Online (Sandbox Code Playgroud)

我打算拥有大量的文件,很快找到一个.

有没有办法明确告诉它尊重解决方案资源管理器上的文件夹层次结构?

Jam*_*son 4

使用source_group命令。

源组(<name>[文件<src>...][REGULAR_EXPRESSION <regex>])

定义一个组,源将被放置在项目文件中。这是为了在 Visual Studio 中设置文件选项卡。选项有:

文件 任何明确指定的源文件都将被放置在 group 中。相对路径是相对于当前源目录进行解释的。

REGULAR_EXPRESSION 任何名称与正则表达式匹配的源文件都将被放置在 group 中。