Closed Gowa2017 closed 2 years ago
需求的说明: 为了进行热更,我没有使用 Lua 的 require 来进行模块的加载,而是自己定义了自己的加载机制。大体代码类型:
local env = {} local f, s = loadfile("mod.lua","bt",env) f()
这样我就可以在 env 来使用任何在 "mod.lua" 内定义的非 local 的变量。对于使用 class 的形式定义的表,没有问题。可以识别到。
class
但对于一个模块内,我定义一些一些只是函数的东西,因为没有使用 require 的 模式,最后进行 return 来导出,因此对于如下代码:
return
function a() end function b() end
我将不能使用 "env.a" 的形式进行补全。我希望 @field 将不只是工作在与 @class 一起,而是可以单独工作在方法上或变量上,如:
@field
@class
---@class Mod ---@extension Mod fun() @a 是 Mod 的一个扩展方法 function a() end --- 或者扩展一下 @field 的用法 ---@field Mod.b fun() @ b 是 Mod 类的成员 function b() end
需求的说明: 为了进行热更,我没有使用 Lua 的 require 来进行模块的加载,而是自己定义了自己的加载机制。大体代码类型:
这样我就可以在 env 来使用任何在 "mod.lua" 内定义的非 local 的变量。对于使用
class
的形式定义的表,没有问题。可以识别到。但对于一个模块内,我定义一些一些只是函数的东西,因为没有使用 require 的 模式,最后进行
return
来导出,因此对于如下代码:我将不能使用 "env.a" 的形式进行补全。我希望
@field
将不只是工作在与@class
一起,而是可以单独工作在方法上或变量上,如: