Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Intellij idea 为什么子类的代码完成在角度模板中不起作用?_Intellij Idea_Visual Studio Code_Code Completion_Angular Language Service - Fatal编程技术网

Intellij idea 为什么子类的代码完成在角度模板中不起作用?

Intellij idea 为什么子类的代码完成在角度模板中不起作用?,intellij-idea,visual-studio-code,code-completion,angular-language-service,Intellij Idea,Visual Studio Code,Code Completion,Angular Language Service,例如,当组件上有2个数组属性时: 数组:普通的数组 匿名数组数组的子类 导出类AppComponent{ 只读数组=新数组(); readonly anonymousArray=新类扩展数组{ 添加(文本:字符串,值:字符串){ 这个,推({ 文本, 价值 }); } }(); 构造函数(){ 这个。数组。推({ 文本:“文本1”, 值:“值1” }); this.anonymousArray.add(“文本”、“值”); } } 然后模板中的代码完成对普通数组有效: 但不适用于子类:

例如,当组件上有2个数组属性时:

  • 数组
    :普通的
    数组
  • 匿名数组
    数组的子类
导出类AppComponent{
只读数组=新数组();
readonly anonymousArray=新类扩展数组{
添加(文本:字符串,值:字符串){
这个,推({
文本,
价值
});
}
}();
构造函数(){
这个。数组。推({
文本:“文本1”,
值:“值1”
});
this.anonymousArray.add(“文本”、“值”);
}
}
然后模板中的代码完成对普通数组有效:

但不适用于子类:

这是一份完整的

IntelliJ甚至会显示错误:

我首先想知道这是怎么可能的:也就是说,既然
Array.isArray(this.anonymousArray)
true
,那么模板是如何/为什么会看到差异的?

这可能是常春藤中的一个bug,还是在最新的IDEA版本中?

对我来说很好:


编辑:似乎特定于正在使用的库版本,在

时跟踪代码完成和语法突出显示是IDE/编辑器的功能,与Angular或TypeScript无关。@ThomasSablik,您认为IDE如何知道该提示什么?它肯定与Angular有关,它被称为
@Angular/language service
@RobertoZvjerkovićIDE解析代码。因此,不同的IDE在代码完成和语法突出显示方面有不同的行为。我每天都在使用IntelliJ和VSCode,在语法突出显示和代码完成方面的差异很大。即使是同一IDE或编辑器的两个版本之间的差异也可能很大。这不是关于Angular或TypeScript的问题。这是一个关于IDE或编辑器的问题。你不会问Angular或TypeScript团队的人。这是你应该问IntelliJ团队的问题。@RobertoZvjerković如果实际的传输或构建过程失败,这是一个角度或打字问题。@ThomasSablik让我们假设我创建了一种叫做Roberto++的语言。我没有提供语言API和文档。您认为IDE如何提供提示和自动完成功能?提示(双关语):它不能。没有IDE提供Angular模板自动完成,直到Angular提供
@Angular/language service
。它也是一种类型脚本,因为TS为Angular提供了可以使用的类型。IntelliJ IDEA 2020.3.2(终极版),
Build#IU-203.7148.57,于2021年1月26日构建
,类型脚本:
4.0.5
。你能澄清一下是哪一部分造成的吗?i、 是IntelliJ插件还是angular语言服务?它是一个插件;自2019.1版以来,Angular语言服务未被使用/需要,我们已将所有Angular编译器验证作为检查来实现,这有一些额外的好处,可以提供一些基本的快速修复,例如添加缺少的
选择器
属性,或者像自动模块导入这样简洁的东西你启用了Typescript语言服务吗?我刚刚下载了Stackblitz项目,并在IntelliJ中打开了它,一切正常。因此,某些设置/库必须不同。我会尽力弄清楚的…谢谢,登录为