Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Genshin UGC Lua APINew to Visual Studio Code? Get it now.
Genshin UGC Lua API

Genshin UGC Lua API

centralshadow

|
4 installs
| (0) | Free
原神·千星奇域客户端脚本 API 智能提示与类型检查
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Genshin UGC Lua API

为《原神》千星奇域客户端脚本开发提供完整智能支持的 VSCode 扩展

自动补全 · 悬浮文档 · 类型检查 · 代码片段

基于 Lua Language Server (sumneko)


📖 简介

《原神》「千星奇域」UGC 玩法支持使用 Lua 编写客户端脚本(客户端控件脚本),但官方未提供本地开发工具,编写脚本时只能反复查阅网页版 API 文档。

本扩展将官方文档中的 全部 API 整理为 LuaCATS/EmmyLua 注解定义文件,注入 Lua Language Server,让你在 VSCode 中获得接近官方语言服务的开发体验:

  • 无需手动配置,安装即用
  • 定义数据整理自官方文档,随版本可重新生成

✨ 功能

智能补全

输入 补全内容
game. 全部 26 个全局函数(Tween、ServerSignal、FindClientUIRoot…)
script: 脚本实例的 7 个方法(GetParam、Invoke、RegisterServerSignalHandler…)
Enum. 27 种枚举类型(EaseType、KeyboardKeyCode、KeyEventType…)
Enum.EaseType. 枚举成员(Linear、InSine、OutBack…)
control: ClientUI 控件方法(GetChildren、SetActive、AddCursorEventListener…)
Color. 颜色工具函数(FromRGB、FromRGBA、ToRGBA)

悬浮文档

悬停任意 API 可查看官方中文说明、参数与返回值类型:

local t = game.Tween(control, {anchoredPositionX = 100}, 0.3)
--  ^^^^^^^^^^ 悬浮显示:
--  game.Tween(object: any, tweenDataTable: table, duration: number) -> Tween
--  按目标字段和持续时间为对象创建补间动画……

类型检查

参数类型错误实时标红:

local c = game.FindClientUIRoot("HUD")
c:SetActive(1)          -- ⚠ 报错:期望 boolean,实际 number
c:SetActive(true)       -- ✔ 正确

继承与链式调用

-- ClientUI 子控件类自动继承基类全部方法
local btn: ClientUIPresetButtonControl = --[[ ... ]]
btn:GetChildren()              -- 来自 ClientUIBaseControl ✔

-- Tween 链式调用补全
game.Tween(c, {localScaleX = 2}, 0.5)
    :SetEase(Enum.EaseType.OutBack)   -- 补全 31 种缓动
    :SetLoops(-1)
    :Play()

代码片段

前缀 功能
ugc-script 插入脚本生命周期模板(OnStart / OnUpdate / OnDestroy)
ugc-tween 插入补间动画链式调用模板
ugc-signal 插入服务器信号发送模板

📦 覆盖的 API 范围

数据整理自官方综合指南·客户端控件API文档,覆盖:

  • 脚本生命周期:OnInit / OnStart / OnEnable / OnDisable / OnUpdate / OnLevelUpdate / OnDestroy
  • 全局 API:print、printerr、typeof、math.isnan/isinf
  • 全局对象:script(Script 类)、game(26 个函数)、Enum(27 种枚举 / 394 个枚举值)、Color
  • 类:Script、Tween、TweenSequence、ServerSignal、CursorEventData、EnumItem
  • 客户端控件:ClientUIBaseControl 及 11 个子控件类(图片、文本框、文本视窗、预设按钮、光标检测区域、网格视窗、按键提示、界面动效、全屏动效、容器节点、模板引用),共 24 个 @class 定义

🚀 使用

安装要求

  • VSCode ^1.103.0
  • 本扩展会自动安装依赖扩展 Lua by sumneko(extensionDependencies 机制;个别 VSCode 分支若未自动安装,请手动安装)

快速开始

  1. 安装本扩展;
  2. 打开任意包含 .lua 文件的工作区;
  3. 首次激活时如提示 “API 定义已注入,需要重启 Lua Server 生效”,点击 立即重启;
  4. 新建 .lua 文件,输入 game. 体验补全。

验证安装

-- test.lua
local control = game.FindClientUIRoot("MyUI")

function OnStart()
    print("脚本启动,画布尺寸:", game.GetUICanvasSize())
    control:SetActive(true)
end

function OnUpdate(dt)
    -- dt: number,每帧调用
end
  • game.、control:、Enum. 均有补全 → 安装成功
  • 悬停 FindClientUIRoot 显示中文文档 → 文档注入成功

⚙️ 配置项

配置 类型 默认值 说明
genshinUgc.injectLibrary boolean true 自动将 API 定义注入 Lua Language Server(Lua.workspace.library)
genshinUgc.promptRestart boolean true 首次注入后提示重启 Lua Server

命令

命令 说明
Genshin UGC: 重启 Lua Server 手动重启语言服务,使定义重新加载

🔧 工作原理

官方 API 文档 (HTML)
      │  parse_api.py(BeautifulSoup 解析)
      ▼
   api.json(259 条结构化条目 + 27 种枚举)
      │  gen_library.py(LuaCATS 注解生成)
      ▼
  ugc_api.lua(---@meta 定义文件)
      │  扩展激活时注入
      ▼
Lua.workspace.library ──► lua-language-server 读取
      ▼
补全 / 悬浮文档 / 类型检查 / 跳转定义

扩展激活时(onLanguage:lua)将自带的 library/ugc_api.lua 目录写入全局 Lua.workspace.library 设置。该文件以 ---@meta 开头,仅供语言服务使用,不影响用户项目的诊断。注入不修改用户项目根目录的 .luarc.json。

❓ 常见问题

输入 game. 没有补全?
  1. 确认已安装并启用 Lua by sumneko 扩展;
  2. 打开输出面板(Ctrl+Shift+U)→ 选择 Genshin UGC Lua 通道,查看注入日志;
  3. 检查全局设置中 Lua.workspace.library 是否包含本扩展的 library 路径;
  4. 执行命令 Genshin UGC: 重启 Lua Server。
悬浮文档显示乱码?

定义文件需为 UTF-8 编码。极少情况下安装过程会损坏文件,重新安装扩展即可。

提示 unknown type(如 ColorValue)?

定义文件末尾的类型别名声明被损坏,重新安装扩展。

补全项与另一个 Lua 扩展(EmmyLua 等)冲突?

本扩展依赖 sumneko 的语言服务,建议禁用其它 Lua 补全类扩展,避免候选列表重复。

📋 已知限制

  • 官方文档中少数参数未标注类型(记为 any),这类参数暂无类型检查;
  • 枚举定义以字符串字面量生成,与运行时行为一致但仅用于提示;
  • 定义数据为快照版本,官方 API 变更后需等待更新。

🙏 致谢

  • Lua Language Server — sumneko
  • API 文档版权归 米哈游 所有,本项目仅为社区开发辅助工具,与官方无关

注意:本扩展为社区项目,与米哈游/HoYoverse 无关联。《原神》及相关名称为米哈游注册商标。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft