WebStorm中如何设置并使用Scratches草稿文件功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计896个文字,预计阅读时间需要4分钟。
在WebStorm中,没有暂存文件这一概念。您可能想找的是+Scratches(草稿)或+Stashes(Git暂存区)——这两者完全不同,不能混用。
Scratch 文件不是 Git 暂存,只是本地临时代码片段
Scratch 是 WebStorm 自带的轻量级草稿区,不参与 Git 版本控制,也不和任何仓库关联。它适合写测试代码、临时调试逻辑、记笔记式片段,比如快速验证一个 Array.prototype.flatMap 行为,或者试一段正则表达式。
- 创建方式:按
Ctrl+Alt+Shift+Insert(Windows/Linux)或Cmd+Option+Shift+Insert(macOS),选语言类型(如 JavaScript、JSON、Plain Text) - 文件名默认是
scratch_1.js这类,保存后存在 IDE 配置目录下(路径类似~/.WebStorm2026.x/config/scratches/),不会出现在项目文件树中 - 不能被
git add或git commit捕获;删掉项目目录也不会丢,但重装 WebStorm 或清配置就会消失 - 支持语法高亮、基础补全、运行(对可执行类型如 JS/Python),但无调试、无依赖解析、无模块导入能力
想临时存修改?别用 Scratch,该用 Git Stash 或 Shelve
如果你当前有一堆未提交的改动,又想切分支或拉新代码,Scratch 完全帮不上忙——它不保存你正在编辑的源文件内容。
- 真要走 Git 流程:必须点顶部菜单
Git → Stash Changes,勾选Include untracked files才能暂存新文件;git stash list在终端可见,git stash pop也能在命令行恢复 - 只想存部分文件、反复应用/撤销、不共享给协作者:用
Shelve——在 Commit 工具窗口(Alt+0)右键文件或变更列表,选Shelve Changes,可取消勾选任意文件 - 误把
Shelve当Stash是高频错误:Commit 窗口右键菜单里那个“Shelve Changes”不是 Git 命令,WebStorm 不会在git log或git stash list里留下痕迹
Scratch 文件怎么命名和管理才不乱
默认生成的 scratch_1.js 很难识别用途,时间一长自己都忘了写过啥。
- 创建后立刻重命名:右键
scratch_1.js→Refactor → Rename,改成带上下文的名字,比如regex_test_url_parser.js - 同一类草稿建议统一放一个目录:虽然 Scratch 不在项目里,但你可以手动在项目根建个
dev-scratch/目录,把导出的草稿文件(File → Save As)存进去,再加.gitignore排除 - 不建议往 Scratch 里粘大段业务代码:它没版本历史、没 diff 对比、不支持多光标编辑同步,容易写到一半发现逻辑要重构,结果回溯困难
Scratch 的边界很清晰:它是编辑器内的便签纸,不是代码暂存区。真正要隔离工作状态,得靠 Git 机制本身——Stash 解决跨分支临时保存,Shelve 解决 IDE 内精细控制。混淆这两者,后期找回改动的成本会远高于多点两次鼠标。
本文共计896个文字,预计阅读时间需要4分钟。
在WebStorm中,没有暂存文件这一概念。您可能想找的是+Scratches(草稿)或+Stashes(Git暂存区)——这两者完全不同,不能混用。
Scratch 文件不是 Git 暂存,只是本地临时代码片段
Scratch 是 WebStorm 自带的轻量级草稿区,不参与 Git 版本控制,也不和任何仓库关联。它适合写测试代码、临时调试逻辑、记笔记式片段,比如快速验证一个 Array.prototype.flatMap 行为,或者试一段正则表达式。
- 创建方式:按
Ctrl+Alt+Shift+Insert(Windows/Linux)或Cmd+Option+Shift+Insert(macOS),选语言类型(如 JavaScript、JSON、Plain Text) - 文件名默认是
scratch_1.js这类,保存后存在 IDE 配置目录下(路径类似~/.WebStorm2026.x/config/scratches/),不会出现在项目文件树中 - 不能被
git add或git commit捕获;删掉项目目录也不会丢,但重装 WebStorm 或清配置就会消失 - 支持语法高亮、基础补全、运行(对可执行类型如 JS/Python),但无调试、无依赖解析、无模块导入能力
想临时存修改?别用 Scratch,该用 Git Stash 或 Shelve
如果你当前有一堆未提交的改动,又想切分支或拉新代码,Scratch 完全帮不上忙——它不保存你正在编辑的源文件内容。
- 真要走 Git 流程:必须点顶部菜单
Git → Stash Changes,勾选Include untracked files才能暂存新文件;git stash list在终端可见,git stash pop也能在命令行恢复 - 只想存部分文件、反复应用/撤销、不共享给协作者:用
Shelve——在 Commit 工具窗口(Alt+0)右键文件或变更列表,选Shelve Changes,可取消勾选任意文件 - 误把
Shelve当Stash是高频错误:Commit 窗口右键菜单里那个“Shelve Changes”不是 Git 命令,WebStorm 不会在git log或git stash list里留下痕迹
Scratch 文件怎么命名和管理才不乱
默认生成的 scratch_1.js 很难识别用途,时间一长自己都忘了写过啥。
- 创建后立刻重命名:右键
scratch_1.js→Refactor → Rename,改成带上下文的名字,比如regex_test_url_parser.js - 同一类草稿建议统一放一个目录:虽然 Scratch 不在项目里,但你可以手动在项目根建个
dev-scratch/目录,把导出的草稿文件(File → Save As)存进去,再加.gitignore排除 - 不建议往 Scratch 里粘大段业务代码:它没版本历史、没 diff 对比、不支持多光标编辑同步,容易写到一半发现逻辑要重构,结果回溯困难
Scratch 的边界很清晰:它是编辑器内的便签纸,不是代码暂存区。真正要隔离工作状态,得靠 Git 机制本身——Stash 解决跨分支临时保存,Shelve 解决 IDE 内精细控制。混淆这两者,后期找回改动的成本会远高于多点两次鼠标。

