Intellij idea Intellij认为TypeScript函数名是属性

Intellij idea Intellij认为TypeScript函数名是属性,intellij-idea,Intellij Idea,在与angular应用程序中无法工作的一部分搏斗之后,我终于找到了罪魁祸首——Intellij出于某种原因将TS类中的函数与属性混为一谈。示例如下: get name()显然是一个函数。但Intellij将其标记为“未使用的属性名”。更重要的是,如果我只更改函数名而不通过重构来更改,那么使用getter/setter访问的属性名会自动更改一两次 相同的“未使用的属性名称”也出现在我的所有属性的顶部。某些属性可能会显示该工具提示,而其他属性可能不会。有时,即使未灰显的属性也会显示该工具提示 我已

在与angular应用程序中无法工作的一部分搏斗之后,我终于找到了罪魁祸首——Intellij出于某种原因将TS类中的函数与属性混为一谈。示例如下:

get name()显然是一个函数。但Intellij将其标记为“未使用的属性名”。更重要的是,如果我只更改函数名而不通过重构来更改,那么使用getter/setter访问的属性名会自动更改一两次

相同的“未使用的属性名称”也出现在我的所有属性的顶部。某些属性可能会显示该工具提示,而其他属性可能不会。有时,即使未灰显的属性也会显示该工具提示

我已禁用所有插件并使缓存无效。尝试手动写入set/get而不是生成。什么都不管用

更新:尝试使用VScode执行此操作,结果成功。

然后我将同一个项目导入Intellij,它给出了另一个错误,但现在关于属性是如何递归的:

调用getter/setter属性在技术上没有什么错误,它们是“访问器属性”——本质上是用于获取和设置值的函数,但看起来像外部代码的常规属性。如果代码中的任何地方都没有使用它们,则应将它们标记为未使用-这是一种未使用全局符号检查工作的方式


如果您不喜欢将公共属性/变量/函数报告为未使用,请尝试在设置|编辑器|检查| JavaScript和TypeScript |未使用的符号中禁用未使用的全局符号

调用getter/setters属性没有错,它们是访问器属性,本质上是用于获取和设置值的函数,但对于外部代码来说,它们看起来像常规属性。如果它们在代码中的任何地方都没有使用,则应将它们标记为未使用。如果不希望将公共属性/变量/函数报告为未使用,请尝试在设置|编辑器|检查| JavaScript和TypeScript |未使用中禁用未使用的全局符号symbols@lena像魔术一样工作!给我一个答案,我会接受的:)