能直接运行.lua文件无需调试就用Code Runner,前提是系统PATH中已配置可用的lua命令;若终端执行lua -v失败,则Code Runner必报command 'lua' not found错误。

能直接运行 .lua 文件,不需要调试功能,就用 Code Runner;它不依赖 launch.json,也不需要语言服务器启动成功,只要系统里有 lua 命令就行。
确认 lua 命令可用是唯一前提
VSCode 本身不带 Lua 解释器,Code Runner 只是调用你系统的 lua 或 luajit 可执行文件。如果终端里输 lua -v 报错,那 Code Runner 必定失败,错误信息通常是 command 'lua' not found。
- Windows 用户建议从
luadist下完整包(含lua.exe),解压后把bin/目录加进系统PATH - macOS 用户推荐:
brew install lua@5.4 && brew link --force lua@5.4,然后验证which lua输出路径 - 别只装
LuaJIT:它在某些系统上命令名是luajit,而Code Runner默认调lua,得手动改配置
Code Runner 运行单个脚本的实操要点
适合写工具脚本、验证语法、跑单元测试——快、轻、无调试开销。
- 快捷键:
Ctrl+Alt+N(Windows/Linux)或Cmd+Option+N(macOS) - 右键菜单 → “Run Code”,或点击编辑器右上角 ▶️ 按钮
- 如果脚本秒退看不到输出,在末尾加一行
io.read()暂停终端 - 默认在集成终端运行;如想用外部终端,需在设置里搜
Code-runner: Run In Terminal并勾选
为什么不用 sumneko.lua 或 launch.json?
这两个组件是为“开发态”服务的:sumneko.lua 提供跳转/补全/诊断,依赖 lua-language-server 启动;launch.json 是调试入口,必须配对 Lua Debug 扩展。它们和“运行脚本”这件事没有必然关系。
- 如果你只是想
lua hello.lua一下,装sumneko.lua反而可能卡在Lua: Starting…,尤其网络差时 -
launch.json配错会导致 F5 报Cannot launch program,但Code Runner完全绕过这一层 - 项目根目录没
.luarc.json?不影响Code Runner运行,它不读这些配置
真正容易被忽略的是:所有“运行”行为都取决于 PATH 里那个 lua 可执行文件的版本和行为。比如你装了 Lua 5.4,但脚本用了 table.pack(5.2+),没问题;可如果用了 utf8.len 却没开启 utf8 库(某些精简版解释器默认不加载),就会报错——这跟 VSCode 配置无关,是解释器本身的约束。


















