2.开发环境搭建
2.1 知识点
版本说明
本篇主要目标是:在 Windows 上把 Lua 跑起来。
学习 Lua 语法阶段,最基本的是保证新建一个 .lua 文件,能执行 print("Hello Lua")跑通。
学习语法阶段我使用的是 Lua for Windows。安装简单,装完以后基本就能在命令行里直接输入 lua 运行脚本,适合入门阶段学习。
不过Lua for Windows 使用的是比较老的 Lua 5.1.5 版本。虽然锁屏学习基础语法是够用的,但它不是当前 Lua 官方最新版本。很多 Unity Lua 热更老项目也可能用这个版本。
项目里要以项目使用的 Lua 运行时为准。比如可能是:
- LuaJIT
- Lua 5.4
- 项目魔改 Lua
- xLua / toLua / SLua 内部集成的 Lua 运行时
Lua环境安装
仓库:luaforwindows → Releases 下 LuaForWindows.exe,默认路径安装。
Win+R → cmd → 输入 lua,看到 Lua 5.1.5 即 OK。




IDE选择
项目里 VSCode、IDEA、Sublime、自研工具链都有。学习阶段 Sublime 打开快,VSCode 配 Code Runner / EmmyLua 可以拓展一些断点能力;工作中可以看看自己项目组用什么。
Lua脚本的创建
文本改后缀 .lua,写 print("Hello Lua") 能输出即 OK。


Sublime Text
打开 .lua → Ctrl + B 运行。跑不起来先确定是不是环境的问题,在 cmd 里 lua 测环境。
VSCode环境搭建
官网装 VSCode 即可。学习阶段常用插件:
- Lua 语法高亮 / 基础提示
- Code Runner:右键或
Ctrl + Alt + N跑当前.lua - vscode-icons:可选
- EmmyLua:Unity 附加调试时再配,见下文
Ctrl + Shift + P → Preferences: Open User Settings (JSON),建议一次配齐(PowerShell 终端 + UTF-8 + 本机 lua.exe 路径):
{
"files.encoding": "utf8",
"code-runner.runInTerminal": true,
"code-runner.executorMap": {
"lua": "[Console]::OutputEncoding=[System.Text.Encoding]::UTF8; $OutputEncoding=[System.Text.Encoding]::UTF8; chcp 65001 | Out-Null; & \"D:\\Software\\Lua\\5.1\\lua.exe\" \"$fullFileName\""
}
}
D:\Software\Lua\5.1\lua.exe 改成你的安装路径。PowerShell 里执行带引号的 exe 必须加 &,否则只会把路径当字符串打印出来。
打开 .lua → 右键 Run Code(或 Ctrl + Alt + N),终端里 print("Hello Lua") 正常即 OK。


中文乱码
如果出现了英文正常、中文变 ����的问题,先查编码格式。文件保存 UTF-8(右下角 → Save with Encoding),终端也要 UTF-8(上面配置里的 chcp 65001)。
改完 settings.json 关掉旧终端重新跑;仍乱码按以下思路排查:文件 UTF-8 → Run In Terminal → 命令里有 chcp 65001 → PowerShell 下 lua.exe 前有 & → 路径没写错。
不想折腾 PowerShell,可以换 cmd 默认终端:
{
"files.encoding": "utf8",
"code-runner.runInTerminal": true,
"terminal.integrated.profiles.windows": {
"Command Prompt UTF-8": {
"path": "C:\\Windows\\System32\\cmd.exe",
"args": ["/K", "chcp 65001>nul"]
}
},
"terminal.integrated.defaultProfile.windows": "Command Prompt UTF-8",
"code-runner.executorMap": {
"lua": "\"D:\\Software\\Lua\\5.1\\lua.exe\" \"$fullFileName\""
}
}
EmmyLua与Unity附加调试
如果学语法、跑 .lua 可以不装 EmmyLua。做 Unity + Lua 要断点进程时再装。
插件市场搜 EmmyLua 安装。要装 JDK 1.8+:配 JAVA_HOME、Path 加 %JAVA_HOME%\bin;CLASSPATH 按你 JDK 安装说明,一般是 .;%JAVA_HOME%\bin;...lib\dt.jar;...tools.jar。
调试里选 EmmyLua:通过进程ID附加,先开 Unity 工程,再在 VSCode 里搜 Unity.exe 挂上,脚本里下断点、回 Unity 触发逻辑。



EmmyLua找不到Java环境
查 JDK、JAVA_HOME、Path,改完重启 VSCode。如果变量都但法师报错,在 settings.json 里手动指定 EmmyLua 用的 Java 路径。


参考博客
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com