Visual Studio Code + Lua

从我所看到的,目前 Visual Studio Code 对于 Lua 仅支持语法高亮,并且我们可以通过扩展获得格式化和一些片段。 我需要知道的是,是否有或计划有某种智能感知。

点赞
用户2858170
用户2858170

如果你想知道一个软件是否有某个特定的功能或者是否计划添加该功能,那么StackOverflow不是正确的地方。

去阅读软件开发者提供的信息。如果你在那里找不到答案,就联系软件开发者并询问他们。

想象一下一个餐馆。如果你想知道他们是否有某些特别的菜或者是否计划加入某些菜肴,最好查看菜单并询问厨师或经理。不要在街上随便问陌生人是否能帮忙......

正如一些评论中已经提到的,有一个名为ZeroBrane的好用的轻量级Lua IDE。除此之外,还有很多可扩展的文本编辑器。

http://lua-users.org/wiki/LuaIntegratedDevelopmentEnvironments

2016-10-11 07:16:22
用户1312639
用户1312639

三年后,我们有了vscode-lua。据我所知,它具有某种形式的_Intellisense_功能,并可以可能配置以找到所需库的路径、版本规范(5.1、5.2、5.3)、缩进、行宽和其他格式相关的功能...... 试一试吧!

2019-12-16 14:23:14
用户351245
用户351245

为自定义语法高亮和代码补全。

在VSCode中,安装扩展:sumneko的Lua

我不知道如何正确使用emmyLua,所以我的例子并不完美,但只需要最少的努力即可设置。我的用例是集成在C#中的NLua。只需要编辑带有一些代码补全的文件即可。

创建文件:Demo.lua

- 设置类一个虚拟名称,因为创建者是同一名称
- 例如,类名Point,创建者名称也是Point将有效
- 但会导致杂乱的建议
---@class cPoint
---@field X number
---@field Y number

-- 创建者
---@type fun( x:number, y:number ) : cPoint
Point = {};

---@class Shapes
---@field Origin cPoint
local Shapes = nil;

---@type fun( x:number, y:number )
function Shapes:Move( x, y ) end

---@class cCircle : Shapes
---@field Radius number
local cCircle = {};           --定义能够…的

---@type fun( angle:number )
function cCircle:Roll( angle ) end  --    ...添加方法

---@type fun( x:number, y:number, r:number ) : cCircle
Circle = {};

---@class cRectangle:Shapes
---@field Width number
---@field Height number
local cRectangle = {};

---@type fun( origin:cPoint, w:number, h:number ) : cRectangle
Rectangle = nil;

--没有方法重载,所以只需强制执行
---@type fun( x:number, y:number, w:number, h:number ) : cRectangle
Rectangle = nil;

创建另一个文件:test.lua

c = Circle( 10, 10, 10 );
c.Origin.X = 10;
c.Move( 10, 10 );
c.Roll( 10 );

r = Rectangle( Point( 0, 0 ), 10, 10 );
r = Rectangle( 10, 10, 10, 10 );

--检测到错误
c.origin.X = 10;
s = Shapes();
r.Roll( 10 );

--未检测到
r = Rectangle( "hello" );
c = Circle(10,10);
c = Circle();
c.Roll();
Rectangle()

结果

2021-08-26 03:55:23