有没有办法在 CLion 中处理多个项目?

Is there a way to work on multiple projects in CLion?

我正在寻找一种在 CLion 中并行处理多个项目的方法 IDE。

现在我一次只能处理 window 中的每个项目,但我正在寻找类似于 Eclipse IDE 的解决方案(见下文)- 能够看到我的不同项目的目录在侧边栏上,然后选择我想要的那个,自己编译等等。

有办法吗?

没有。 CLion 要么:

  • 打开一个新的 window 包含您要处理的其他项目
  • 关闭您当前的项目并在当前window
  • 中打开新项目

正如您在 documentation 中看到的那样。我认为这在他们的设计中是需要的;可能是为了保持 CLion 的快速和反应...

:CLion 不允许您从菜单打开多个项目,因为它使用 CMake 系统,基于脚本。

但是,CMake 非常有能力包含多个项目,CLion 将正确解析您的 CMake 文件并在项目资源管理器中显示所有相关目录。

例子

要做到这一点,就像在 Visual Studio 中一样,您需要一个父“解决方案”和一个或多个子“项目”。

这是一个简单的 CMake 示例,其中“my_solution”引用两个子项目,“my_application”和“my_library”。在这里,我的三个文件夹排列:

  • xxx/my_solution/CMakeLists.txt
  • xxx/my_application/CMakeLists.txt
  • xxx/my_library/CMakeLists.txt

xxx/my_solution/CMakeLists.txt 只是读作:

cmake_minimum_required(VERSION 3.7)
project(my_solution)

add_subdirectory("${PROJECT_SOURCE_DIR}/../my_library" "${PROJECT_SOURCE_DIR}/my_library_output")
add_subdirectory("${PROJECT_SOURCE_DIR}/../my_application" "${PROJECT_SOURCE_DIR}/my_application_output")

请注意 也允许将 my_applicationmy_library 放在 my_solution 目录,如 Visual Studio.

根据@c-z 的回答添加一些视觉线索

这是我的项目结构的样子 -

这是我的根级别 CMakeLists.txt 的样子 -

最后,这是我的子目录级别 CMakeLists.txt 的样子 -

注意: 您可以选择删除外层 main.cpp 文件(我已经删除了) 此外,您可以删除项目级可执行文件以将其从 运行 配置中删除。