CLion无法从源中检测类,并且没有智能/代码补全

时间:2019-03-14 21:10:24

标签: c++ clion jetbrains-ide

我正在使用CLion,因此(希望)能够:

  • 具有注册为C ++文件的文件类型的代码完成 (在我的情况下,文件类型称为.hps)
  • 充分利用错误的高尾功能和所有 我的.hps文件上的智能提示
  • 能够使用其他hps文件中的类,这些文件位于不同的位置 项目中的文件夹。

一般的c ++样式着色正常,但是CLion不会通知我hps文件中的语法错误:

CLion won't notify me about syntax errors inside hps files

  • CLion找不到我包含的源文件,因此找不到 检测在其他hps文件及其内部声明的所有类 方法(所有包含该hps文件的文件夹都位于 在名为“脚本”的文件夹中

我要包括的内容的实现:

Implementation of what I'm trying to include

如您所见,它无法检测到它:

And as you can see, it does not detect it

现在,这是我项目的设置:

  1. 我的项目位于并打开了一个文件夹,该文件夹中有一个文件夹 它称为“脚本”,其中包含的所有.hps文件都是 在那里。
  2. 我已经设置了一个在MinGW环境下运行的CMakeLists.txt文件。这个 是该文件的完整内容:

    This is the full content of that file

  3. 在我的 PARENT 文件夹中有一个名为hps_api.hps的文件,该文件 也包括类声明。请注意,CLion不会检测到 它也是。我做错什么了吗?我几乎唯一的一件事 所做的是将包含目录添加到cmake文件,但是我想 还不够吗?

例如,在另一个名为CodeLite的程序中,可以仅向列表中添加要包含的搜索文件的路径,然后CodeLite解析这些文件,这样我就可以毫无问题地进行类的声明。当然也可以使用CLion,对吧?

1 个答案:

答案 0 :(得分:0)

语法错误

是否有可能从文件菜单中激活了省电模式?如果将其激活,则可能会禁用某些代码解析功能。

文件类型.hps

我想您已经在.hps中将文件类型Settings -> Editor -> File Types注册为C / C ++文件。如果没有,您应该注册它!

CMakeLists

您可能需要配置更多属性,例如项目名称和目标,以将项目与正在使用的文件相关联。

cmake_minimum_required(VERSION 3.12)
project(YourProjectName VERSION 0.1.0)

include_directories(script/agents)
include_directories(script/areas)
include_directories(script/base)

add_executable(YourProjectName main.cpp header1.hpp source1.cpp path/to/header2.hpp path/to/source2.cpp)

如果不是构建可执行文件而是库,则可能需要使用add_library。对于语法,您可以检查the documentation

我希望这会有所帮助!

相关问题