首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么“安全删除.”函数在属性上不能在IntelliJ中访问?

为什么“安全删除.”函数在属性上不能在IntelliJ中访问?
EN

Stack Overflow用户
提问于 2017-03-27 07:17:25
回答 1查看 646关注 0票数 1

在IntelliJ IDEA中打开结构窗口时,保存删除.选项对任何属性都不可访问。

但是,相同的函数来自字段

当从字段中使用时,它无论如何都会删除整个“属性”,即字段及其getter和setter方法。

为什么我不能在整个属性上访问完全相同的函数?该函数在菜单中,并且是灰色的,那么在什么条件下是可以访问的?

我创建了一个问题https://youtrack.jetbrains.com/issue/IDEA-170415,所以我想知道JetBrains的答案是什么。

EN

回答 1

Stack Overflow用户

发布于 2017-03-27 07:42:57

重构之类的操作可在代码结构中克拉的位置的“上下文”中使用。

因此,如果您单击某个字段的代码,您将看到某些重构。或者,如果将克拉放在类名上,则会看到其他重构。

至于这与项目结构(Alt-7)的关系,您会注意到,如果单击项目结构中的某个项,然后按f4 (跳转到源),它将导航到与该项相关的源代码窗口中的确切位置。

我经常使用f4从项目结构导航到代码,您会注意到可用的重构是相同的(在结构视图和代码窗格之间)。

现在,有趣的是(我以前从未尝试过这样做),如果在项目结构中启用"Properties“(使用P)并将光标定位在属性上,则单击f4 -它不会导航到代码。

我怀疑java代码的"property“和"PSI”结构之间没有联系(这反过来又映射到代码窗格中的特定行)。这可能是intellij中的一个疏忽,也可能是这样,因为属性确实可以表示3段不同的代码(字段、getter和setter)。

在我看来,将属性与字段本身关联起来似乎是最合乎逻辑的,这样Jump To Source就可以导航到字段(因此可以使用重构),但事实并非如此。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43040104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档