首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VSCode语言扩展的变量名称自动完成(GameMaker / GML文件)?

VSCode语言扩展的变量名称自动完成(GameMaker / GML文件)?
EN

Stack Overflow用户
提问于 2021-07-12 12:09:07
回答 1查看 1.5K关注 0票数 1

我正在VSCode中编辑GML文件(VSCode)。有一个很棒的插件,GML支持,它为内置的GML函数和实例变量添加了自动完成功能,以及其他一些很酷的东西。

然而,VSCode似乎不识别GML中的局部变量(参见下面的屏幕抓取)。点表示法效果很好)

我查看了变量名称自动完成的VSCode的程序语言扩展,但仍然不知道如何将变量声明(即var fooBar = 23;)注册到VSCode的Language Server。

理想情况下,我希望Language尊重GML文件的可变范围:

  1. 全局变量-对script文件夹下的文件的任何script声明
  2. 任何局部变量声明--周围var中的所有{...}声明

如前所述,添加变量名称完成的最简单方法是什么?

提前感谢!

编辑:查看vscode-python以了解如何使用registerCompletionItemProvider (基于VSCode语言扩展文档)。不幸的是,我仍然不清楚vscode-python似乎依赖绝地来提供符号?

所以任何积分都会升值!

EN

回答 1

Stack Overflow用户

发布于 2021-07-13 19:14:49

如果要启用简单的自动完成,可以将以下内容添加到settings.json (命令调色板➜Open (JSON)):

代码语言:javascript
复制
  "[gml-gms81]": { "editor.quickSuggestions": true },
  "[gml-gms1]": { "editor.quickSuggestions": true },
  "[gml-gms2]": { "editor.quickSuggestions": true },

它适用于解决方法:

为了找到合适的解决方案,您需要使用registerCompletionItemProvider并按需或按需对文件进行索引。

官方例子演示了它的用法。

对于处理GML语法的复杂问题,您可以在我制作的基于Ace的外部编辑器中检查代码。处理变量定义特别要求您跳过具有相对可信度的字符串、注释和遍历值(var name[=value][, name2[=value2]]) (这可以通过平衡的解析器实现)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68347156

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档