据我所知,目前Visual Studio Code对于Lua语言仅支持语法着色,并且我们可以通过扩展程序来实现格式化和一些代码片段。
我需要了解的是是否有或计划开发某种智能感知功能。
据我所知,目前Visual Studio Code对于Lua语言仅支持语法着色,并且我们可以通过扩展程序来实现格式化和一些代码片段。
我需要了解的是是否有或计划开发某种智能感知功能。
实现自定义语法高亮和代码补全功能。
在VSCode中,安装扩展程序: Lua by sumneko。
我不知道如何正确使用emmyLua,所以我的例子不完美,但是只需最小的努力即可轻松设置。我的用例是将NLua集成在C#中。只需编辑带有一些代码完成的文件即可。
创建文件:Demo.lua
-- set the class a dummy name, since creator is the same name
-- eg. class name Point, creator name also Point will work
-- but will result in messy suggestions
---@class cPoint
---@field X number
---@field Y number
-- creator
---@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 = {}; -- define to be able to ...
---@type fun( angle:number )
function cCircle:Roll( angle ) end -- ... add methods
---@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;
-- no method overload, so just force it
---@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 );
-- DETECTED ERRORS
c.origin.X = 10;
s = Shapes();
r.Roll( 10 );
-- NOT DETECTED
r = Rectangle( "hello" );
c = Circle(10,10);
c = Circle();
c.Roll();
Rectangle()
如果你想知道一个软件是否具有某些功能或者它们是否已经计划好了,StackOverflow 不是一个正确的地方。
去阅读软件开发者提供的信息。如果你在那里找不到答案,联系软件开发者并询问他们。
想象一下一家餐厅。如果你想知道他们的菜单上是否有特别的东西或者他们是否计划将其放在菜单上,最好查看菜单并询问厨师或经理。不要在街上随便问陌生人是否能帮助你...
正如一些评论中已经提到的,有一个名为 ZeroBrane 的不错的轻量级 Lua IDE。除此之外,还有很多可扩展的文本编辑器。
http://lua-users.org/wiki/LuaIntegratedDevelopmentEnvironments