VScode配置LuatOS开发模拟环境

0x00 任务目标

1. 配置VScode中的Lua开发环境,包含代码提示等工具。

2. 配置Code Runner,让其Lua代码运行在VSCode中的LuatOS模拟器中。

0x01 配置Lua开发环境

VSCode支持在不同的工作环境配置不同插件,类似于虚拟环境。我们将在VSCode中配置专属于LuatOS的开发环境。

1. 创建VSCode配置环境并切换

启动VSCode,点击设置->配置文件(默认)->创建配置文件

在弹出的对话框中,输入我们创建的配置文件名称:“LuatOS”,可自定义名称,并点击确认。

此时VSCode应该自动切换了配置文件,且插件应该仅仅安装了中文插件,这个环境非常纯净。如果没有切换或者想要切换到其他环境,可以在点击设置,切换不同的配置文件。

上图可以看到,我配置了很多配置文件,当前使用了LuatOS配置。

2. 安装LuatOS扩展

参考LuatOS官网文档,安装插件“LuatOS-SOC推荐拓展包”、“LuatOS-SOC代码补全”和“Code Runner”,安装完成后应该如下图所示。

3. 创建HelloWorld工程

😊 此时,开发环境已经配置成功,可以在特定的位置创建一个工程目录,并用VSCode打开,笔者创建了一个HelloWorld工程,并编写了main.lua,如下图所示:

PROJECT = "hello_world"
VERSION = "0.0.1"

-- 代码来自于LuatOS模拟器:“https://wiki.luatos.com/_static/luatos-emulator/lua.html”
-- 此处为纯lua5.3测试场地
-- 同时,支持加载sys库,使用task框架特性
-- 如下:

-- 加载sys库
sys = require("sys")

-- 启动一个定时器
sys.timerLoopStart(function()
    log.info("Timer:", os.time())
end, 1000)

-- 新建任务,每休眠2000ms继续一次
sys.taskInit(function()
    local count = 0
    while true do
        sys.wait(2000) -- 等待2000ms
        count = count + 1
        log.info("Task", "Running: ", count, "Times")
    end
end)

-- 用户代码已结束---------------------------------------------
-- 运行lua task,只能调用一次,而且必须写在末尾
-- 结尾总是这一句
print("HelloWorld")
sys.run()
-- sys.run()之后后面不要加任何语句!!!!!

0x02 配置LuatOS模拟器

1. 下载LuatOS模拟器文件并解压

前往合宙网盘下载对应文件,并解压到特定目录,笔者将文件解压至了目录:“D:\LuatOSeMulator”

2. 测试LuatOS是否正常使用

复制上述main.lua至该目录,利用命令行运行lua文件到模拟器中。

在当前目录下运行Windows PowerShell,并运行以下代码:

.\luatos.exe .\main.lua

😊 当前模拟器运行正常。

0x03 配置Code Runner一键运行在LuatOS模拟器中

本小节将介绍利用Code Runner直接在VSCode的终端中使用LuatOS模拟器运行Lua。

1. 配置Code Runner

通过UI或者快捷键打开Code Runner的配置项,可以看到以下配置项。

必选配置项Code-runner: Run In Terminal,终端中运行,必须勾选。

【可选配置项】Code-runner: Save All Files Before Run,运行前保存所有文档,个人可以按照自己的需要勾选。

【可选配置项】Code-runner: Save File Before Run,运行前保存当前文档,个人可以按照自己的需要勾选。

除了“必选配置项”外,其余配置项可以根据自身配置。通过浏览或者利用搜索框筛选,找到配置项:“Executor Map”

点击“在setting.json中编辑”,打开配置文本,找到lua的配置项,填写模拟器可执行文件的路径,如下图所示,并快捷键操作Ctrl+S保存设置。

😊 此时已经完成模拟器运行的配置。

2. 测试效果

在VSCode中,打开HelloWorld的main.lua,并点击“运行”按钮,若出现以下内容,则说明已经运行成功,终止运行请输入“Ctrl C”

0x04 存在的问题

1. 未配置调试

配置完成后,利用本文方法配置后,无法调试运行在LuatOS模拟器中的程序,可能需要Print大法。

2. 中文编码异常

若输出包含中文,编码异常,当前未找到方法解决,如下图片所示。

0x05 参考文档与资源

1. 开发环境搭建 - LuatOS 文档

2. LuatOS 在线模拟 - lua在线测试

3. 合宙文件云盘

4. vscode code runner配置_vs code code runner setting-优快云博客

0x06 后记

  • No Pains,No Gains
### 配置 VSCode 中的 LuatOS 开发环境 #### 安装 Visual Studio Code 确保已从官方网站下载并安装最新版本的Visual Studio Code[^3]。 #### 安装必要的扩展插件 为了支持LuatOS项目的开发,在VSCode内需安装特定的插件来增强功能。这些插件能够提供语法高亮显示、智能感知以及代码执行等功能: - **Lua 扩展**: 提供基本的语言特性支持,如语法着色和基础调试工具。 - **Remote Development (可选)**: 如果计划远程连接至设备或模拟器,则此套件非常有用。 - **C/C++(如果涉及底层硬件编程)**: 对于某些情况下可能需要用到C/C++混合编写的场景很有帮助。 可以通过点击左侧活动栏中的方块图标进入市场页面搜索上述名称完成安装操作[^2]。 #### 设置 `executorMap` 和其他配置项 对于想要简化命令行调用流程的情况来说,调整VSCode全局设置里的`executorMap`参数是一项便捷措施。具体做法是在用户偏好设定(`Preferences`)下的JSON文件中加入如下片段: ```json { "lua.runtime.version": "Lua 5.3", "editor.tabSize": 4, "terminal.integrated.shell.windows": "cmd.exe", // 或者根据操作系统选择合适的shell "[lua]": { "editor.defaultFormatter": "sumneko.lua" }, "extensions.ignoreRecommendations": false, "files.eol": "\n", "explorer.confirmDelete": true, "workbench.colorTheme": "Default Dark+", "emmet.triggerExpansionOnTab": true, "window.zoomLevel": 0, "security.workspace.trust.untrustedFiles": "open", "debug.onTaskErrors": "showDebugAdapterTerminal", "launch": { "version": "0.2.0", "configurations": [ { "type": "cppdbg", "request": "launch", "name": "Launch Lua Program", "program": "${workspaceFolder}/main.lua", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "", "miDebuggerPath": "/usr/bin/gdb", "logging": { "moduleLoad": false } } ] }, "lua.executor.command": "luajit ${relativeFile}",// 根据实际情况更改解释器路径 } ``` 这段配置不仅定义了如何启动Lua程序,还包含了工作区的一些个性化选项,比如主题颜色方案等。注意这里的`lua.executor.command`应该指向实际使用的Lua解释器位置,可能是标准的Lua二进制文件或者是像LuaJIT这样的高性能实现之一。 #### 创建并运行第一个项目 建立一个新的文件夹用于存放源码,并将其作为新的工作空间加载到VSCode当中。接着在此目录下创建名为`main.lua`的新文件,输入简单的打印语句测试环境是否正常运作: ```lua print("Hello, World!") ``` 保存之后利用右键菜单中的“Run Code”指令或是终端窗口手动触发脚本执行,观察预期的结果输出即表明整个集成开发环境已经成功搭建完毕。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值