2.开发环境搭建

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环境安装

仓库:luaforwindowsReleasesLuaForWindows.exe,默认路径安装。

Win+Rcmd → 输入 lua,看到 Lua 5.1.5 即 OK。

IDE选择

项目里 VSCode、IDEA、Sublime、自研工具链都有。学习阶段 Sublime 打开快,VSCode 配 Code Runner / EmmyLua 可以拓展一些断点能力;工作中可以看看自己项目组用什么。

Lua脚本的创建

文本改后缀 .lua,写 print("Hello Lua") 能输出即 OK。

Sublime Text

打开 .luaCtrl + B 运行。跑不起来先确定是不是环境的问题,在 cmd 里 lua 测环境。

VSCode环境搭建

官网装 VSCode 即可。学习阶段常用插件:

  • Lua 语法高亮 / 基础提示
  • Code Runner:右键或 Ctrl + Alt + N 跑当前 .lua
  • vscode-icons:可选
  • EmmyLua:Unity 附加调试时再配,见下文

Ctrl + Shift + PPreferences: 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_HOMEPath%JAVA_HOME%\binCLASSPATH 按你 JDK 安装说明,一般是 .;%JAVA_HOME%\bin;...lib\dt.jar;...tools.jar

调试里选 EmmyLua:通过进程ID附加,先开 Unity 工程,再在 VSCode 里搜 Unity.exe 挂上,脚本里下断点、回 Unity 触发逻辑。

EmmyLua找不到Java环境

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

参考博客

Lua 开发环境搭建



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

×

喜欢就点赞,疼爱就打赏