首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >这些 IDEA 技巧没用上,你可能少了一大半摸鱼的时间!

这些 IDEA 技巧没用上,你可能少了一大半摸鱼的时间!

作者头像
GoLang学习记
发布2026-02-27 13:51:33
发布2026-02-27 13:51:33
790
举报

爱本无形 怜之可视

引言

今天来分享2个很多idea老手都不知道的小技巧,旨在提升在 IntelliJ IDEA 系列 IDE 中的开发效率。 这里以 IDEA 为例,也同样适用于goland,pycharm。

在这里插入图片描述
在这里插入图片描述

看看你是否对下面的截图有同感!🙊

在这里插入图片描述
在这里插入图片描述

如果你在 Flutter 项目(尤其是大型项目 ☕️)中使用 IntelliJ IDEA 进行开发,并且项目中包含来自不同包的生成文件,如果有比较大的重复的内容,那么一般的搜索技巧很可能就会失效。

你可能已经经历过,使用“在文件中查找”功能时,在非生成文件中滚动查找类、变量或其他内容时的痛苦。

而IDEA也想到了这个问题,所以推出了一个file mask技巧:通过特定模式来筛选、匹配或隐藏数据的技术。其核心思想是“用规则过滤目标”,常见于文件搜索、网络配置、图像处理等场景。


如何创建高效的文件掩码?⚡️

好消息是,有一个解决方案!技巧在于简单地编辑文件掩码,如下所示:

从默认的:

*.dart

在这里插入图片描述
在这里插入图片描述

改为:

!.g.dart,!.freezed.dart,*.dart

在这里插入图片描述
在这里插入图片描述

这里涉及到了几个常用的通配符,

在这里插入图片描述
在这里插入图片描述

你可以清楚地看到差异,匹配结果从 28 个减少到 19 个。 你会发现这更舒适,因为这意味着在这种情况下,你的下拉窗口中移除了超过 9 个结果。 这意味着更少的滚动!!!😍

在这里插入图片描述
在这里插入图片描述

它是如何工作的?🧐

掩码:!*.g.dart,!*.freezed.dart

操作符

  • , 表示匹配正则表达式之间的分隔符。
  • ! 表示否定(排除)。

表达式解析

  1. 匹配 1!*.g.dart 不匹配以 .g.dart 结尾的文件。
  2. 匹配 2!*.freezed.dart 不匹配以 .freezed.dart 结尾的文件。
  3. 匹配 3*.dart 默认匹配所有 Dart 文件。

因此,IDE 将仅在 Dart 文件中匹配表达式,并跳过 Freezed 或 Riverpod 生成的文件的匹配。

通过扩展,你可以轻松地添加或删除任何文件匹配,只需将其添加到掩码中即可: ,!*.new_file_mask_i_want_to_skip.ext,*.new_file_i_want_to_match.ext

file mask的缺点是无法排除一整个路径下的文件,这种情况就需要引入 scope功能。

JetBrains 作用域(Scope)是一组文件的集合,用于在特定操作(如代码搜索、重构、导航等)中临时包含或排除这些文件。通过创建作用域,您可以定制搜索范围,使其仅聚焦于项目的特定部分,从而过滤掉无关的匹配项和干扰信息。

配置自己的scopes

在这里插入图片描述
在这里插入图片描述

比如你用python Django开发的时候,很多时候只想搜索model的位置,就可以向这样配置一个自己的scope

代码语言:javascript
复制
file:*/models.py||file:*/models/*.py

接着就可以在搜索的实现选择scopes了

在这里插入图片描述
在这里插入图片描述

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 golang学习记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 引言
  • 如何创建高效的文件掩码?⚡️
  • 它是如何工作的?🧐
    • 操作符
    • 表达式解析
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档