【Studio】Luau更新(自动补全):2021年8月

脚本编辑器:Luau 驱动的自动完成与语言功能测试版

开发者们,大家好!

今天我们很高兴地发布 Luau 驱动的自动完成功能测试版。代码的收尾现在将更加易懂,更加准确,同时性能也更加优化,让你能以前所未有的速度编写代码。下面将详细介绍这些可以使用的新功能,以及一些尚未实装的东西。

测试版可以通过 Studio > Beta Features(测试版功能) > Luau-Powered Autocomplete(Luau 驱动的自动完成)来开启。

The beta can be enabled by toggling Studio > Beta Features > Luau-Powered Autocomplete.

新功能

当前脚本中的函数参数

自动完成现在会为注释的函数参数给出类型对齐的补语。在下方的示例中,自动完成会将参数 ‘s’ 识别为字符串,并给出相应的补语。

function abc(s:string)
    s...
end

目前
1

新版
2

嵌套的变量和函数

嵌套在函数内的变量现在也会给出自动完成,无论间接性如何。在下方的示例中,自动完成识别出 P 指向一个返回 ‘x’ 和 ‘y’ 的函数,并给出两个变量的完成建议。

function origin()
    return {x = 0, y = 0}
end

local P = origin()
print(P...

目前
3

新版
4

上下文感知关键字

当你开始一个新的表达或语句时,自动完成建议会强调在此位置语法合理的关键字。在下方的示例中,给出的是上下文相关的关键字 ‘true’,而不是语法上不合理的一般完成。

if true t...

目前
5

新版
6

更好地识别作为返回类型的实例

自动完成现在将显示对返回实例的函数的建议,如下所示。

function getWorkspace()
    return workspace
end

getWorkspace()...
function getMyScripts()
    return game:getService("ReplicatedStorage")
end

getMyScripts()...

目前
7
9

新版
8
10

访问 Luau 类型注释

自动完成使用其对 Luau 结构的了解来给出类型注释的变量的建议。在下方示例中,p 被识别为一个 ‘Part’(部件),并提供了相应属性的自动完成。

local p:Part

p...

目前
11

新版
12

一般改进

改进了本地变量名称的识别

上一版本的自动完成经常无法为本地声明的变量提供自动完成。这在 Luau 驱动的自动完成中永远不会发生。

local some_int = 5

so...

目前
13

新版
14

改进逻辑以减少噪音并改善自动完成建议的排序

我们改进了自动完成搜索算法来提供自动完成,并按照更加符合直觉的方式排序。在下方示例中,自动补充更加符合用户的预期。

enu...

ran...

目前
15
17

新版
16
18

识别表达类型:琐碎细节

( 警告过你了)

即将推出

自动完成中目前仍缺少一些东西,并会在推出完整版之前的接下来的几个星期中逐渐添加。内容包括:

  • 嵌入文档来帮助完成选择

  • 更清爽的图标

  • (下周修复)“else” 不会在应该出现的地方出现的问题

if (1) then
    print("Hello world!")
e...
  • (下周修复)修复此问题,及正确的 Workspace 首字母大小写被标记为已弃用

19

请试用并告诉我们你的想法!

6 个赞
关于我们    加入我们    条款    隐私政策
©2021 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。
粤ICP备20013629号