分享一下自己使用的 NetHack 开发工具
nethack吧
全部回复
仅看楼主
level 13
锯条🪚 楼主
nethack 的编译方式让现代 lsp 难以自动化解析项目、构建索引。官方仓库已经有人在做 cmake 支持了,但落成时间也是个未知数。以前我用 compiledb 生成 compile_commands.json 喂给 clangd,勉强能解析大部分符号,后来某个版本开始这种方法就失效了,生成出来的数据库始终是空的,我就开始自己维护构建工具配置文件以生成编译数据库。最终选了 xmake 作为构建工具,因为书写起来比 cmake 更简单。
存放在我自己 fork 的 nethack 仓库的 intellisense 分支下,核心文件只有一个 xmake.lua,链接:网页链接
注意事项:
- 支持 windows/linux 平台,默认开启 tty 和 curses 界面的编译;
- 目前仅用于生成编译数据库,无法真正通过 xmake 构建,未来可能考虑加上这个功能;
- 需要至少成功编译一次项目后才能稳定生成数据库文件;
- 在 xmake 的某次更新后偶尔会无法通过 vscode 的 `XMake: UpdateIntellisense` 指令生成文件,需要手动使用命令行 `xmake project -k compile_commands build` 先生成一次;
- windows 平台可能需要安装 mingw/llvm,没有验证过 msvc 的正确性;
2026年06月30日 13点06分 1
level 11
支持,到时候研究一下看看,之前在Debian GNU/Linux trixie上没装上……
2026年06月30日 15点06分 3
level 13
锯条🪚 楼主
yh给我帖子夹了,不知道为什么代码图会被机审认为是违规内容[呵呵]。。总之目前可以满足大多数开发需求,这个工具目前也在龟速迭代
2026年07月01日 01点07分 6
level 1
大佬,我刚入坑,想玩一下那个tty版本,但是点开他里面只显示许多“←”还有一些乱码一样的东西,按键也没反应,不知道怎么回事[疑问]
2026年07月04日 15点07分 10
可以把截图发来看看。是在什么平台上玩的呢?输入没反应也有可能是卡输入法了
2026年07月05日 00点07分
level 1
Windows上的
2026年07月05日 01点07分 11
还挺邪门的,连控制序列都打印出来了[喷]先换字体或游戏的字符集,你这个字体应该是windows以前的cmd用的默认字体,缺很多字符,所以更建议换字体。换了字体才能排查后面的问题。现在系统一般自带consolas, lucida console, cascadia mono这些。进游戏前先锁美式键盘,tty界面的nethack大概率卡输入法,卡了就什么指令都响应不了
2026年07月05日 01点07分
你是键盘输入的时候才会往外蹦“[?”这种字符吗,能把控制序列打印出来真有点诡异了
2026年07月05日 01点07分
@锯条🪚 不,点开他就这样[笑尿]
2026年07月05日 02点07分
@贴吧用户_G95PASA 你这我也有点没招,像是不支持虚拟终端的功能似的,但你这个窗口样式都win10了吧也不至于这样。有条件的话还是安装新版的windows terminal吧
2026年07月05日 02点07分
level 13
锯条🪚 楼主
更新:添加了对 MSVC 的支持,Windows 平台现在默认使用 MSVC
2026年07月15日 03点07分 12
1