当变量在范围内时,它仍然不引用任何已知的列、table、变量或函数

When a variable is in scope, it still does not refer to any known column, table, variable, or function

当我们select all (CTRL + A) 运行 (F5) it.

时,下面的查询就成功了
let Foo = "foo";

let Bar = (baz: string) {
   print baz;
};

Bar(Foo); // errors here

问题是 Kusto Explorer 列出了两个问题。 FooBar 都是未知的。我们如何将语言服务引入FooBar,让他们为人所知?

查询运行s...

问题列表说“名称 'Bar' 未引用任何已知函数”和“名称 'Foo' 未引用任何已知列,table,变量或函数。

我们如何才能让语言服务相信 FooBar 存在?

您只需删除空行即可。 Kusto Explorer 中的 IntelliSense 假设空行之间的任何内容都是您要 运行 的唯一内容,这就是它在第 7 行抱怨 FooBar 的原因。但是,它确实让你 select 文本,然后如果你单击“运行”,它会 运行 你 select 编辑的任何内容,而不是空行之间的任何内容,但是它不会影响 IntelliSense。

所以如果你这样写,IntelliSense 不会抱怨:

let Foo = "foo";
let Bar = (baz: string) {
   print baz;
};
Bar(Foo);

空评论块也可以;在某些情况下,额外的间距有助于提高可读性:

let Foo = "foo";
//
let Bar = (baz: string) {
   print baz;
};
//
Bar(Foo);