【发布时间】:2020-11-05 11:47:44
【问题描述】:
上下文
在 Visual Studio IDE 中,对于 C++ 解决方案,您可以使用所谓的“过滤器”来模拟源文件树/目录,同时通常将每个项目的所有源代码保留在每个项目的根目录中。主要优点是可以直接#include "foo.h"
我一直在尝试将一些解决方案“切换”到 CLion,因为它专注于多平台,并试图将对 CMake+GCC 的支持添加到现有的 VS 解决方案中,因为没有跨平台 IDE 原生支持 @987654323 @文件
现在 - 我知道一些较大的 CMake 项目(如解决方案/子项目组)通常使用普通文件系统子目录来进一步分解每个子项目中的代码,但由于我正在尝试添加一些“解决方案” CMake 支持,考虑到几百个源文件,我真的无法手动重构所有内容并将每个文件中的 #include "service_foo.h" 更改为 #include service/service_foo.h。
还要考虑的另一件事是我不会迁移解决方案以使用 CMake - 我正在添加对 CMake 构建/CLion IDE 支持以及 MSBuild 工具链/VS IDE 支持的支持,所以我不想介绍任何重大更改。
我对 JetBrains IDE 生态系统还很陌生,所以我想知道是否有一些东西可以提供这种开箱即用的功能,或者可以通过插件提供。
问题
有没有什么方法可以在不更改文件系统的情况下将源文件分组,即在 CLion IDE 的项目视图工具箱中?
目前无法在文档中找到任何内容,但它与 Code Hierarchy 类似,但用于 .h/.cpp 文件。
示例
文件系统结构(在磁盘上可见)$REPO_ROOT 是*.vcxproj, .idea/ 等提供的存储库。
Main CMakeList.txt: $REPO_ROOT/CmakeList.txt
Example subprojects: $REPO_ROOT/foo_slib/ $REPO_ROOT/program/
Example Source files: $REPO_ROOT/program/main.cpp $REPO_ROOT/program/gui_init.h $REPO_ROOT/program/VulkanDelegate.h
项目/解决方案根结构(如 IDE 中的项目工具箱视图中所示)$VIEW_ROOT 是为 CLion 打开的主项目或为 MSVS 打开的 .sln,如在每个 IDE 中的项目视图中所示
Main CmakeList.txt: $VIEW_ROOT/CMAKE/CmakeList.txt
Example subprojects: $VIEW_ROOT/foo_slib/ $VIEW_ROOT/program/
Example Source files: $VIEW_ROOT/program/main.cpp $VIEW_ROOT/program/GUI/gui_init.h $VIEW_ROOT/program/Delegates/VulkanDelegate.h
【问题讨论】:
标签: visual-studio visual-studio-2019 clion jetbrains-ide