actboy168 / lua-debug

Lua Debug Adapter for Visual Studio Code
MIT License
435 stars 94 forks source link

launch.json 中设置的path和cpath路径是增加而不是覆盖 #186

Closed fesily closed 2 years ago

fesily commented 2 years ago

因为原始程序可能已经初始化了部分PATH/CPATH,比如环境变量LUA_PATH和LUA_CPATH,但是如果我在launch.json设置一下path或者cpath,就直接被覆盖了. 那一堆的初始化白干了

actboy168 commented 2 years ago

你可以将path/cpath设置为null,意味着不修改

fesily commented 2 years ago

当然是需要修改,如果测试环境下有些文件不一样,我可以在path前面追加从而可以提前读取覆盖的文件.

不然这个功能我需要提取一大堆的path参数才行.

最直观的/usr/local/share/lua/5.1/?.lua/usr/local/share/lua/5.1/?/init.lua 或者相应的 path是lua51自己就会给你初始化的.现在的launch设置,我path修改了,默认的我还需要再launch设置里面添加上去.

actboy168 commented 2 years ago

这个修改和原有的语义不兼容,所以我倾向不合并。

对于你的需求,我觉得你可以把你要改的path全部写到launch.json里。毕竟只需要做一次,不算麻烦。

fesily commented 2 years ago

我添加一个新的launch配置选项用来追加,怎么样?

openresty的默认path信息巨长,而且根据每台电脑上都不太一样,提取这个path值属于纯属浪费时间

actboy168 commented 2 years ago

我觉得你可以不在调试器里修改path。修改path并不是调试器必须的特性,只是为了降低初学者上手门槛而增加的特性,本身来说就是为调试器自带的luaexe而设计的。如果是调试复杂的框架,我认为调试器应该尽可能少做事,尤其是和调试无关的事情。否则调试器就会变成为了兼容各种各种的框架,而增加大量的特性和代码。