【问题标题】:CLion fails to give suggestions, syntax highlighting, etcCLion 无法给出建议、语法高亮等
【发布时间】:2021-07-06 18:06:40
【问题描述】:

前言;我正在从事一个大学游戏项目,除了意味着我的部分资源我无法分享之外,应该对我的问题没有任何影响。下面显示的代码已删除(明显的)无用信息。

这个问题在Play.cpp 文件中最为普遍:

#include "Play.h"
#include "../Engine.h"
#include "../TileManager.h"
#include "Scene.h"

Play::Play(Engine *engine) :
        Scene(engine),
        tm(TileManager()) {}

CLion 没有为tm(TileManager()) 行显示任何语法高亮显示,也没有提供任何代码完成,也没有任何自动导入。

Play.h:

#pragma once

#include "../framework/header.h"
#include "Scene.h"
#include "../TileManager.h"

class Play : public Scene {
public:
    Play(Engine *engine);

private:
    TileManager tm;
};

还有Scene.h(循环依赖于Engine,因为它管理场景):

#pragma once

class Engine;

struct Scene {
    explicit Scene(Engine *engine) : engine(engine) {}

protected:
    Engine *engine;
};

Play.cpp 中对tm. 的任何完成请求都会导致:

没有对 TileManager 成员的建议

我希望 TileManager 中的公共方法列表而不是这个。

有人对为什么会发生这种情况有任何见解吗?在我的限制允许的范围内,我很乐意提供更多代码。

CLion 版本 2020.3

【问题讨论】:

  • 尝试使缓存失效并重新启动,删除 CMake 构建目录并重新加载 CMake 项目。
  • 如果这行得通,我会很高兴的。至少它会很简单:(遗憾的是它没有改变任何东西。
  • 您是否配置了工具链 (jetbrains.com/help/clion/…)?你能检查一下吗?另外,它是一个 CMake 项目吗?你能在 CLion 中成功地重新加载它(没有错误)吗?
  • 我的工具链被配置为使用比支持的更新的 cmake,它现在可以工作了。谢谢。

标签: c++ syntax-highlighting clion code-completion


【解决方案1】:

事实证明,我的工具链被配置为使用比 CLion 支持的更新的 CMake 版本。切换到捆绑版本解决了这个问题。

【讨论】:

  • 您实际上可以将 CMake 3.20 与 CLion 2021.1 一起使用
  • 太棒了,我还没有更新,我会将我正在使用的 CLion 版本添加到问题中。你真的很有帮助:)
猜你喜欢
  • 2022-07-01
  • 2010-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-28
  • 2012-08-12
  • 2018-05-19
相关资源
最近更新 更多