[英]Variable name autocomplete for VSCode Language Extension (GameMaker / GML files)?
我正在VSCode 中編輯 GML 文件( GameMaker Studio )。 有一個很棒的插件, GML Support ,它為內置的 GML 函數和實例變量添加了自動完成功能以及其他一些很酷的東西。
但是,VSCode 似乎無法識別 GML 中的局部變量(請參閱下面的屏幕截圖。點符號工作正常)
我查看了VSCode 的 Programmatic Language Extension以進行變量名稱自動完成,但仍然不知道如何使用 VSCode 的語言服務器注冊變量聲明(即var fooBar = 23;
)。
理想情況下,我希望語言服務器尊重 GML 文件的變量范圍:
script
文件夾下文件的任何var
聲明{...}
中的所有var
聲明如上所述添加變量名完成的最簡單方法是什么?
提前致謝!
編輯:查看vscode-python以了解如何使用registerCompletionItemProvider
(基於VSCode 語言擴展 doco )。 不幸的是,我仍然不清楚,因為 vscode-python 似乎依賴絕地來提供符號?
所以任何積分表示贊賞!
如果您想啟用簡單的自動完成,您可以將以下內容添加到您的settings.json
(命令面板➜ 打開設置(JSON)):
"[gml-gms81]": { "editor.quickSuggestions": true },
"[gml-gms1]": { "editor.quickSuggestions": true },
"[gml-gms2]": { "editor.quickSuggestions": true },
這適用於解決方法:
對於適當的解決方案,您需要使用registerCompletionItemProvider
並根據需要或隨時索引文件。
官方示例演示使用。
對於處理 GML 語法的復雜性,您可以在我制作的基於 Ace 的外部編輯器中查看代碼。 處理變量定義特別要求您以相對置信度(可以通過平衡解析器完成)跳過字符串、注釋和循環值( var name[=value][, name2[=value2]]
)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.