CLion 无法给出建议、语法高亮等
CLion fails to give suggestions, syntax highlighting, etc
前言;我正在从事一个大学游戏项目,除了意味着我的源代码中有一些我无法分享之外,这对我的问题应该没有任何影响。下面显示的代码已删除(明显的)无用信息。
此问题在 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.
的任何完成请求都会导致:
No suggestions for members of TileManager
我希望 TileManager 中的 public 方法列表而不是这个。
有人知道为什么会发生这种情况吗?在我的限制允许的范围内,我很乐意提供更多代码。
CLion 版本 2020.3
事实证明,我的工具链配置为使用比 CLion 支持的更新的 CMake 版本。切换到捆绑版本解决了这个问题。
前言;我正在从事一个大学游戏项目,除了意味着我的源代码中有一些我无法分享之外,这对我的问题应该没有任何影响。下面显示的代码已删除(明显的)无用信息。
此问题在 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.
的任何完成请求都会导致:
No suggestions for members of TileManager
我希望 TileManager 中的 public 方法列表而不是这个。
有人知道为什么会发生这种情况吗?在我的限制允许的范围内,我很乐意提供更多代码。
CLion 版本 2020.3
事实证明,我的工具链配置为使用比 CLion 支持的更新的 CMake 版本。切换到捆绑版本解决了这个问题。