xmake-io / xmake-vscode

🍩 A XMake integration in Visual Studio Code
https://xmake.io
Apache License 2.0
227 stars 54 forks source link

通过vscode的xmake插件debug运行程序时,未尊重xmake.lua 中 set_runargs 设置的命令行参数 #237

Closed duyanning closed 10 months ago

duyanning commented 10 months ago

Xmake 版本

2.8.5

操作系统版本和架构

Debian GNU/Linux 12 (bookworm)

描述问题

通过vscode的xmake插件debug运行程序时(就是点击状态栏上的臭虫按钮), 似乎没有尊重 xmake.lua 中 set_runargs 设置的命令行参数。

我写了个helloworld程序,功能就是输出 argc 的值。

我在命令行下运行 xmake r xie -f=a.txt 看到argc==2 (xie是我程序即target的名字) xmake r -d xie -f=a.txt 看到的还是argc==2。 这都符合我的预期。

然后我在xmake.lua中添加如下一行: set_runargs("-f=a.txt")

接着在vscode中通过xmake插件运行程序 如果我是点击▷按钮运行,则看到argc==2 如果我是点击“臭虫”按钮运行,则看到argc==1

期待的结果

当点击臭虫按钮运行时,也应当看到 argc==2

工程配置

` target("xie") set_kind("binary") add_files("src/*.c") add_packages("tbox") add_syslinks("pthread") add_syslinks("z") add_syslinks("crypto") -- set_rundir("$(projectdir)/test/in") set_rundir("$(projectdir)") -- set_runargs("-x", "--arg1=val") --参考 https://xmake.io/mirror/manual/project_target.html set_runargs("-f=a.txt")

-- xmake r -d xie -f=a.txt 这样的话,argc是2,对的
-- xmake r xie -f=a.txt 这样的话,argc是2,对的 `

附加信息和错误日志

waruqi commented 10 months ago

可以自己调下插件源码 来个 pr

duyanning commented 10 months ago

要在vscode中给xmake项目设置调试时的工作目录, 只需在 settings.json 中添加这么一点东西:

    "xmake.debuggingTargetsArguments": {
        "default": ["命令行参数1", "命令行参数2", "命令行参数3"]
    }

我的需求解决了,已知足。不求完美。