在 CMake 项目中为 Qt 关键字启用语法突出显示

Posted

技术标签:

【中文标题】在 CMake 项目中为 Qt 关键字启用语法突出显示【英文标题】:Enable syntax highlighting in CMake project for Qt keywords 【发布时间】:2017-09-25 04:08:50 【问题描述】:

这里有一个截图来说明我的问题。 Qt Creator 在 CMake 项目中将 qt 特定的关键字高亮显示为无效。我使用 Qt Creator 4.2.2 和 Fedora 26。

我尝试使用 Qt 提供的系统语法高亮定义文件。但这对我没有帮助。那么如何解决呢?

CMake 代码:

project("highlight-cmake")
cmake_minimum_required(VERSION 3.5)

find_package(Qt5Core REQUIRED)
find_package(Qt5Gui REQUIRED)
find_package(Qt5Widgets REQUIRED)

include_directories($CMAKE_SOURCE_DIR $CMAKE_BINARY_DIR)

set(HEADERS
    mainwindow.h
)

set(SOURCES
    mainwindow.cpp
    main.cpp
)

set(FORMS
    mainwindow.ui
)

qt5_wrap_cpp(MOC_SOURCES $HEADERS)
qt5_wrap_ui(UI_SOURCES $FORMS)

add_executable($PROJECT_NAME $HEADERS $SOURCES $MOC_SOURCES $UI_SOURCES)
target_link_libraries($PROJECT_NAME Qt5::Core Qt5::Gui Qt5::Widgets)

【问题讨论】:

【参考方案1】:

您似乎有QT_NO_KEYWORDS 定义集。这会导致诸如slotssignals 之类的Qt 关键字未定义。要么取消定义QT_NO_KEYWORDS,要么使用Q_SLOTS而不是slotsQ_SIGNALS而不是signals

【讨论】:

QT_NO_KEYWORDS 未设置。我改进了我的问题并添加了 CMake 代码。无论如何,我在编译时检查了真正的命令。

以上是关于在 CMake 项目中为 Qt 关键字启用语法突出显示的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .ntl 模板文件的 Visual Studio Code 中启用 HTML 语法突出显示?

vscode中有没有办法在不保存文件的情况下启用语法突出显示? [复制]

无法在 Qt5/cmake 项目中加载 Qt 资源文件中指定的图像

CMake 简单介绍 图

QT的cmake项目工程配置

使用 cmake 构建 Qt5 项目