tasklist插件默认不识别todo,因其仅内置fixme、xxx等关键词;需在设置中手动添加todo并重启notepad++才生效,且支持自定义标记如@bug、note,但需注意大小写、空格及文件保存状态。

TaskList插件为什么找不到TODO标记
默认安装的 TaskList 插件不会自动识别 TODO,它只认内置关键词(如 FIXME、XXX),TODO 被排除在外。这不是bug,是设计如此。
- 打开
Settings → Preferences → Task List,确认勾选了Enable Task List - 在下方
Keywords输入框里手动添加TODO(注意大小写敏感,默认只匹配大写) - 若想同时支持
todo、Todo,需分别添加,或启用Match case旁边的Ignore case复选框 - 修改后必须重启 Notepad++ 才生效——这点常被忽略,改完不重启等于没改
如何让TaskList识别自定义标记如@BUG或// NOTE
TaskList 支持任意字符串,但每行只能定义一个关键词,且不能含空格或特殊符号(除非用反斜杠转义,但不推荐)。
- 在
Keywords框中用竖线|分隔多个词,例如:TODO|FIXME|@BUG|NOTE - 如果标记带前缀如
// TODO或/* TODO */,插件会自动跳过注释符号,只匹配中间内容,无需额外配置 - 但
@BUG在 JavaScript 中常写作@bug(JSDoc风格),此时要关闭Match case,否则无法命中 - 避免写成
@BUG:—— 冒号会被当作关键词一部分,导致匹配失败
TaskList不刷新或列表为空怎么办
不是所有“TODO”都会出现在面板里:它只扫描当前打开的文件,且仅在文档被修改并保存后才重新索引。
- 点击
TaskList面板右上角的刷新按钮(两个箭头图标),强制重扫当前文件 - 如果刚新建了一个未保存的文件,
TaskList不会扫描它——先Ctrl+S保存为 .py/.js 等有语法识别的扩展名 - 检查文件编码:UTF-8 with BOM 可能导致解析异常,建议统一用 UTF-8(无BOM)
- 某些语言模式(如 JSON)不触发语法高亮,
TaskList也可能跳过扫描——临时切换到Normal Text模式试试
和其它插件(如Document Map)共存时的冲突表现
TaskList 和 Document Map 或 Explorer 同时启用时,偶尔会出现面板错位、关键词丢失或右键菜单异常,本质是 UI 渲染抢占资源。
- 优先禁用
Document Map——它和TaskList都依赖 Scintilla 的折叠/标记接口,冲突概率最高 - 不要把
TaskList面板拖拽到编辑区顶部或底部边缘,容易触发 Notepad++ 的布局重绘 bug - 如果右键点击任务项无响应,大概率是
Python Script插件加载了自定义菜单脚本,关掉它再试 - 64位版 Notepad++ 对老旧插件兼容性较差,若用的是 v8.5.8+,建议从官网下载最新版
TaskList(目前最新为 v2.4.1)
真正麻烦的不是加几个关键词,而是每次换电脑或重装都要重新配一遍路径和大小写规则——建议把 tasklist.xml(位于 %AppData%\Notepad++\plugins\Config\)单独备份。











