创建用于 Javascript 的编辑器时,是否可以设置“this”关键字最初应用的上下文(可能是全局范围)?
在 Monaco Editor Playground 中,如果 editor 的值最初为空白并且我键入 this.
我希望看到自动完成列表显示基于适当上下文的可能性。
即使在函数中,输入 this.
只会导致出现在函数中的单词。没有其他可用选项。
最佳答案
当然不是开箱即用。问题是 JavaScript 是一种相当棘手的语言 .为了能够知道“ 这个 ”的当前值 - 你需要上下文。而且很可能你永远不会拥有它。
要检查代码,您有 3 个分析级别:
var Company = {}
所以在 JS 中没有 100% 准确的分析。除非您达到第 3 级(运行时分析),否则使用 JS - 不能保证您是正确的。大多数编辑器会部分使用某种语法分析、某种语义分析和(也许)只是一点运行时分析,以尝试使结果更准确。但它们永远不会是准确的。
如果你确定这是什么。应该是 - 您可以通过附加完成提供程序在 monaco 编辑器中提供自己的自动完成项:
https://microsoft.github.io/monaco-editor/api/interfaces/monaco.languages.completionitemprovider.html
关于javascript - 在 Monaco Editor for javascript 上设置 "this"上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48793180/