Autocomplete 有没有办法禁用某些扩展函数的自动完成功能?

Autocomplete 有没有办法禁用某些扩展函数的自动完成功能?,autocomplete,kotlin,Autocomplete,Kotlin,例如,我们有太宽的接收器(字符串)的扩展函数。是否有任何方法可以对自动完成(注释)隐藏这些扩展,因此需要手动导入这些扩展?首先,最简单的解决方案是,您可以通过以下方式确定扩展的范围: 成员扩展(在类内声明)仅在其类内可见 顶级专用扩展名仅在给定文件中可见 顶层,内部扩展仅在给定模块中可见 如果上述内容不符合您的需要,您也可以使用IntelliJ工具来实现这一点。对于任何给定的扩展,您可以开始键入其名称并在自动完成中选择它,然后对其调用意图操作(在Windows上Alt+Enter,⌥↩ 在

例如,我们有太宽的接收器(字符串)的扩展函数。是否有任何方法可以对自动完成(注释)隐藏这些扩展,因此需要手动导入这些扩展?

首先,最简单的解决方案是,您可以通过以下方式确定扩展的范围:

  • 成员扩展(在类内声明)仅在其类内可见
  • 顶级专用扩展名仅在给定文件中可见
  • 顶层,内部扩展仅在给定模块中可见

如果上述内容不符合您的需要,您也可以使用IntelliJ工具来实现这一点。对于任何给定的扩展,您可以开始键入其名称并在自动完成中选择它,然后对其调用意图操作(在Windows上Alt+Enter,⌥↩ 在macOS上,或单击灯泡)以获得以下菜单:

这将带您进入一个带有自动导入设置的弹出窗口(这也可以在
编辑器->常规->自动导入下的常规设置菜单中找到):


这里您需要的是特定于Java的设置,正如您在其他选项中所看到的,您可以排除类、包或单个函数,范围可以是当前项目或整个IDE。

Wow,尽管我从未排除过这样的完成项。有很多我很乐意过滤掉的是否可以与其他队友共享排除的功能列表(存储在VCS下)?是的!如果将排除项目设置为范围,则它们将放置在
.idea
文件夹下的
codeInsightSettings.xml
文件中。