妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种
多数人对于 Intellij IDEA 可能始于其「颜值」,终于其「才华」,外加各种插件 buff 的加成,coding 的节奏分分钟要暴走
抛开自己安装的插件,IDEA 其实也内秀的很,在 IntelliJ IDEA HTTP Client高级使用详解 中详细的介绍了开发小组内放弃 Postman 的理由,用过的小伙伴后台留言直呼爽。
但今天要介绍的是另外一个秀的有些含蓄的小功能,她那么显眼的站在你面前,你却选择忽视她
有时候我们需要在项目之外创建一些临时文件或一些实验性代码,创建在项目中可能一不小心 Git 误提交,不创建项目里又需要切换到其他应用上来回拷贝,对于专注 coding 的我们来说,总显得不够流畅
IDEA 其实早已为我们解决了这个痛点,借助 Scratch files 和 Scratch buffers 就可以解决
Scratch files | Scratch buffers
IDEA 会在项目平行目录中自动生成下面的目录结构,这就是今天主角的位置,你有正视过她们吗?
Scratch files 和 Scratch buffers 二者还是有很大差别的:
Scratch files
Scratch files 是一种功能完整的、可运行的和可调试的文件,支持语法高亮显示、代码补全和相应文件类型的所有其他特性 (说白了很像Jupyter Notebooks)
Scratch file 的功能,就可以满足我们在 Coding 中的各种想法,用于快速记录。创建好的这个文件并不存储在我们的项目目录中(避免了意外 git push 的尴尬),甚至在 IDEA 中切换到其他项目中也可以看到你刚刚创建的这个文件,进一步说白一点,这是凌驾在项目之上的一个全局功能,如下图,切换到了其他项目中,Scratch files 依旧存在
创建一个 Scratch file 很简单,使用快捷键 ⇧⌘N
,支持关键字搜索,直接创建相应类型的文件就可以,比如这里创建一个 java 文件
默认会创建名为 Scratch.java 的文件,并写好 main 函数,就像这样:
在这里和你正常在项目中写 java 代码没什么区别,你可以使用 git status
命令来验证,结果是 Git 完全不 track 的,放心的创建临时文件就好了
其实我很常用的是创建一个 scratch.sql 文件,存放一些日常 SQL 语句,同样的创建方式,搜索 sql
默认会创建一个 scratch.sql 的文件,文件创建之后要配置数据源
配置好后,就可以尽情的书写你日常用到的 SQL 了
光标放到 SQL 位置,使用快捷键 ⌘⏎
,选择相应的 Session (会话) 就可以 run 这条 SQL 语句了
执行后,就看到你熟悉的画面了,因为这里的画面就是 IDEA 默认的数据库管理工具,这篇 IntelliJ IDEA的数据库管理工具实在太方便了 文章中有过详细说明
创建 Scratch files 可选择的类型非常多,总有一个适合你的一些需要
Scratch buffers
和 Scratch files 类似,只不过 Scratch buffers 就是一个简单的文本文件,没有任何编码辅助功能 (说白了,可以将它理解成一个记事本),创建 Scratch buffers 没有直接的快捷键,需要用通用快捷键 ⇧⌘A
,并输入关键字(比如 buffer):
敲击回车键,就会创建好一个名为 scratch.txt 的文本文件。反复创建 Scratch buffers,你会发现,最多只允许创建 5 个:
因为这个操作不频繁,所以也就没有默认快捷键,如果你是个快捷键强迫症患者,那就在 KeyMap 处添加相应的快捷键就可以了
这里要说明一个注意事项:
如果你在 buffer1.txt 文件中记录了一些内容,当你创建第 6 次 scratch buffer 文件时,buffer1.txt 的内容就会被清空
别看 Scratch files 和 Scratch buffers 不会被 Git 跟踪,但是同样可以通过鼠标右键查看 Local History 来查看过往所有改动
减少应用切换,尽量保持专注,可以借助预览模式(ctrl+opt+v) 和 快捷键 (cmd+e)切换最近常用文件,戴上耳机,快告诉我,时速多少迈?
总结
这是一个很小的功能,但是在日常开发中真的可以带来很大的帮助:
跨越项目的访问
不被 Git 所跟踪,防止误提交
可以临时测试各种语言的代码
可查看改动历史
最后配合预览模式的使用,减少应用之间的切换,一切显得都很流畅
当然,保持 Code Clean,减少猜测和回忆时间,我们最好给我们创建的 Scratch files 和 Scratch buffers 更友好的文件名称
DD自营的沪牌代拍业务,无中间商赚差价,点击直达
往期推荐
Spring Boot 无侵入式 实现 API 接口统一 JSON 格式返回
isEmpty 和 isBlank 区别?
国内首个比特币勒索病毒制作者落网,但过程有点好笑...
重大BUG:你的淘宝双十一订单可能多付钱了!
TIOBE公布11月榜单:Python势不可挡,超越Java !
Loki 2.0.0 发布,ELK之外的优秀日志聚合系统!
推荐本文作者的原创公众号
长安下方图片,识别二维码关注
﹀
﹀
﹀
深度内容
推荐加入
妙用 Intellij IDEA 创建临时文件,Git 跟踪不到的那种相关推荐
- idea git 在文件上点了revert怎么复原_在 IntelliJ IDEA 中使用 Git,太方便了
作者:J'KYO 来源:https://www.cnblogs.com/pejsidney/p/9199115.html 1.git简介 git是目前流行的分布式版本管理系统.它拥有两套版本库,本地库 ...
- 创建一个 Git 版本库
创建一个 Git 版本库 $ cd project/$ git init # 创建 .git 目录 ( 1.4.4.4 版本之后用这个命令 )$ git add . # 将那些未被跟踪的文件加入版本库 ...
- eclipse查看git地址_在 IntelliJ IDEA 中使用 Git,太方便了
作者:J'KYO 1.git简介 git是目前流行的分布式版本管理系统.它拥有两套版本库,本地库和远程库,在不进行合并和删除之类的操作时这两套版本库互不影响.也因此其近乎所有的操作都是本地执行,所以在 ...
- IntelliJ IDEA中使用git
IntelliJ IDEA中使用git 在Idea中配置git 安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动 ...
- 如何创建远程 Git 分支?
问: 我创建了一个本地分支.如何将其推送到远程服务器? 更新:我写了一个simpler answer for Git 2.0 here. 答1: 一个优秀的自由职业者,应该有对需求敏感和精准需求捕获的 ...
- swift通知栏推送_如何使用Swift和Laravel使用推送通知创建iOS加密跟踪应用
swift通知栏推送 by Neo Ighodaro 由新Ighodaro 如何使用Swift和Laravel使用推送通知创建iOS加密跟踪应用 (How to create an iOS crypt ...
- idea添加maven libraries_使用IntelliJ IDEA创建一个Maven的Spring Boot项目
关于maven的安装和配置参考: Maven 3.6.1的配置及验证 关于IntelliJ IDEA安装配置参考: IntelliJ IDEA的安装和配置 1.打开IntelliJ IDEA,选择&q ...
- 【Kotlin】IntelliJ IDEA 创建 Kotlin 项目
文章目录 IntelliJ IDEA 创建 Kotlin 项目 IntelliJ IDEA 创建 Kotlin 项目 IntelliJ IDEA 环境创建 Kotlin 项目流程 : 1 . 创建工程 ...
- BC30138: 无法在路径“C:\WINDOWS\TEMP\”中创建临时文件: 拒绝访问。
今天一客户打电话说页面无法加载,我过去看了下出现下面的问题.这样的问题也是程序在运行时常遇见的,所以在解决后就给贴出来了~~ 问题:BC30138: 无法在路径"C:\WINDOWS\TEM ...
最新文章
- pkg mysql 在macOS 上的管理
- Samtools(CentOS Linux)安装及常用命令详解
- centos7 ntp设置 时间同步
- JSP 第一天:提交表单--获取表单中的数据值
- openssl passwd之openssl命令详解
- vc判断文件夹是否存在
- cambridge phd in engineering
- 【CyberSecurityLearning 53】信息收集
- Ceph OSD操作 命令详解
- 腾讯---生成格雷码
- 常用的几种编程语言的介绍
- “弱肉强食,月半者为王” | OpenDILab推出多智能体博弈环境Go-Bigger
- (67)Vue-cli 项目搭建
- 《ArcGIS Runtime SDK for Android开发笔记》——数据制作篇:紧凑型切片制作(Server缓存切片)...
- [UE4]OnComponentBeginOverlap.AddDynamic 的编译错误
- 可交互绘图——鼠标移到点的上方会显示该点的标签[jupyter notebook]
- sqlite关于时间的处理
- linux下oracle安装教程
- Android开发:申请小米开发者账号步骤
- (BISM)FTP搜索引擎BLOG开通了,专门交流搜索引擎技术
热门文章
- 软件测试面试问答大全(2)
- linux 初始化工作进程 systemd简介
- redis c客户端 hiredis
- linux中man 1 2 3
- UNIX进程的创建,进程链和进程扇
- java 线程组和线程_Java多线程 线程组原理及实例详解
- php 昨天开始时间_php日期处理显示:昨天、今天、本周、上一月等时间结点数据...
- mysql查询时间between and_Mysql中用between...and...查询日期时注意事项
- java 通配符 泛型_java中泛型之类型通配符(?)
- 怎么绘制机械孔_机械图纸中常见的符号及意义,机械人必备!