Visual Studio代码+Lua
Visual Studio Code + Lua
据我所知,目前 Visual Studio Lua 的代码仅支持语法着色,我们可以使用格式和一些带有扩展名的片段。
我需要知道的是是否有或计划使用某种 Intellisense。
如果您想知道某个软件是否具有某些功能或是否已计划这些功能,Whosebug 是错误的地方。
去阅读软件开发商提供的信息。如果您在那里没有找到答案,请联系软件的开发人员并询问他们。
想想餐厅。如果你想知道他们的菜单上是否有特别的东西,或者他们是否打算把它放在那里,你最好查看菜单并询问厨师或经理。如果有人可以帮助您,请不要随意询问街上的人...
正如一些评论中已经提到的,有一个很好的轻量级 Lua IDE 叫做 ZeroBrane。除此之外还有很多可扩展的文本编辑器。
http://lua-users.org/wiki/LuaIntegratedDevelopmentEnvironments
三年后,我们有 vscode-lua。据我所知,它具有某种 Intellisense 并且可能被配置为查找所需库的路径、版本规范(5.1、5.2、5.3)、缩进、行宽和其他格式化相关的东西...试一试!
用于自定义语法突出显示和代码完成。
在 VSCode 中,安装扩展:Lua by sumneko
我不知道如何正确使用 emmyLua,所以我的例子并不完美,但它很容易设置,只需很少的努力。我的用例是在 C# 中集成的 NLua。只需要用一些代码完成来编辑文件。
创建文件: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()
据我所知,目前 Visual Studio Lua 的代码仅支持语法着色,我们可以使用格式和一些带有扩展名的片段。 我需要知道的是是否有或计划使用某种 Intellisense。
如果您想知道某个软件是否具有某些功能或是否已计划这些功能,Whosebug 是错误的地方。
去阅读软件开发商提供的信息。如果您在那里没有找到答案,请联系软件的开发人员并询问他们。
想想餐厅。如果你想知道他们的菜单上是否有特别的东西,或者他们是否打算把它放在那里,你最好查看菜单并询问厨师或经理。如果有人可以帮助您,请不要随意询问街上的人...
正如一些评论中已经提到的,有一个很好的轻量级 Lua IDE 叫做 ZeroBrane。除此之外还有很多可扩展的文本编辑器。
http://lua-users.org/wiki/LuaIntegratedDevelopmentEnvironments
三年后,我们有 vscode-lua。据我所知,它具有某种 Intellisense 并且可能被配置为查找所需库的路径、版本规范(5.1、5.2、5.3)、缩进、行宽和其他格式化相关的东西...试一试!
用于自定义语法突出显示和代码完成。
在 VSCode 中,安装扩展:Lua by sumneko
我不知道如何正确使用 emmyLua,所以我的例子并不完美,但它很容易设置,只需很少的努力。我的用例是在 C# 中集成的 NLua。只需要用一些代码完成来编辑文件。
创建文件: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()