Notepad++怎么编辑CMakeLists文件_Notepad++如何高亮CMake语法规则【教程】

大萱君_9105

大萱君_9105

2026-03-21

653人浏览

原创

notepad++需手动绑定cmakelists.txt文件名或导入更新的cmake.xml语法定义才能实现正确高亮,且需注意路径配置与cmake版本兼容性。

notepad++怎么编辑cmakelists文件_notepad++如何高亮cmake语法规则【教程】

Notepad++ 打开 CMakeLists.txt 没有语法高亮,怎么办?

Notepad++ 默认不识别 CMakeLists.txt 文件名,也不会自动应用 CMake 语法着色。它只靠文件扩展名或首行内容判断语言类型,而 CMake 官方推荐的入口文件名就是 CMakeLists.txt(无后缀),所以几乎必然“失明”。

  • 手动切换语言:打开文件后,点击菜单栏 语言 → C → CMake(注意不是“C++”或“C#”)
  • 更可靠的做法是绑定文件名:菜单栏 语言 → 定义语言… → 选择 CMake → 在“扩展名”框里添加 CMakeLists.txt(注意没有点号开头,直接写全名)→ 点击“保存并关闭”
  • 如果列表里没有 CMake 选项,说明未启用该语言支持:菜单栏 语言 → 定义语言… → 点击右下角“导入” → 选中 Notepad++ 安装目录下的 langs.xml 附近自带的 CMake.xml(通常在 plugins\NppFTP\langs\ 或社区插件包里),或从官网下载标准定义

为什么改了扩展名没用,比如改成 CMakeLists.cmake?

改名看似绕过限制,但实际会引入新问题:

  • CMake 工具链(cmake 命令)只认 CMakeLists.txt 作为项目根文件,改名后运行 cmake . 直接报错:CMake Error: The source directory ".../project" does not appear to contain CMakeLists.txt
  • Notepad++ 的语言绑定对扩展名敏感,.cmake 后缀确实能触发高亮,但你得同时维护两个文件名——编辑用 CMakeLists.cmake,提交和构建用 CMakeLists.txt,容易不同步
  • 某些旧版 Notepad++ 对 .cmake 支持不完整,高亮可能漏掉 find_package() 或 target_link_libraries() 这类关键指令

set(CMAKE_CXX_STANDARD 17) 被标红或不着色,是语法错误吗?

不是错误,是 Notepad++ 内置的 CMake 语法定义老旧,没收录较新的变量和命令。

  • 官方 CMake 3.1+ 引入的 CMAKE_CXX_STANDARD、CMAKE_CUDA_STANDARD、FetchContent_MakeAvailable() 等,在老版 CMake.xml 里属于“未知标识符”,所以不着色甚至标黄/红(取决于主题)
  • 不影响实际构建:只要 CMake 版本够新,这些指令完全合法
  • 解决办法只有更新语法定义文件:去 GitHub 搜索 notepad-plus-plus-cmake-language,找最近维护的 CMake.xml,替换掉你本地的同名文件(路径类似 %PROGRAMFILES%\Notepad++\langs.xml 同级目录或 plugins\APIs\ 下)
  • 替换后需重启 Notepad++,且注意备份原文件——改错会导致所有语言菜单变灰

用 NppExec 自动运行 cmake .. 时路径总出错

Notepad++ 当前工作目录默认是文件所在目录,但 CMake 构建习惯是“源码目录外新建 build 目录”,所以直接执行 cmake .. 很容易因相对路径错位失败。

  • 正确做法不是在 CMakeLists.txt 所在目录运行,而是先切到子目录:比如项目结构是 /proj/CMakeLists.txt,应在 /proj/build 里运行 cmake ..
  • NppExec 可以用 cd $(CURRENT_DIRECTORY)\build 配合 cmd /c cmake ..,但更稳的是用绝对路径:cmd /c cmake -S "$(CURRENT_DIRECTORY)" -B "$(CURRENT_DIRECTORY)\build"(CMake 3.13+ 推荐写法)
  • 注意 $(CURRENT_DIRECTORY) 不带尾部反斜杠,拼接 \build 时要手动补上;如果路径含空格,整个路径必须用英文双引号包裹
  • 别依赖“保存当前文件再运行”的惯性操作——CMakeLists.txt 保存与否不影响 cmake 执行,但如果你改了它又没重新 configure,看到的还是旧结果

CMake 语法高亮只是表象,真正卡住人的往往是路径、版本、大小写混用(add_executable() 和 ADD_EXECUTABLE() 虽然都行,但 Notepad++ 的语法定义通常只认小写形式)这些细节。改完配置别急着关软件,先打开一个已知正常的 CMakeLists.txt 看看 option() 和 if(WIN32) 是否正常着色,再动手写新逻辑。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
pdf怎么转换成xml格式
pdf怎么转换成xml格式

将 pdf 转换为 xml 的方法:1. 使用在线转换器;2. 使用桌面软件(如 adobe acrobat、itext);3. 使用命令行工具(如 pdftoxml)。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.01

4524

5

xml怎么变成word
xml怎么变成word

步骤:1. 导入 xml 文件;2. 选择 xml 结构;3. 映射 xml 元素到 word 元素;4. 生成 word 文档。提示:确保 xml 文件结构良好,并预览 word 文档以验证转换是否成功。想了解更多xml的相关内容,可以阅读本专题下面的文章。

2024.08.01

5857

7

xml是什么格式的文件
xml是什么格式的文件

xml是一种纯文本格式的文件。xml指的是可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。想了解更多相关的内容,可阅读本专题下面的相关文章。

2024.11.28

2442

7

scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

969

5

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.25

2900

5

mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.04

14360

5

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.02.23

1103

5

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

2025.06.11

8110

9

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

2025.08.07

3202

7

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.7万人学习