{"id":17187357,"url":"https://github.com/jareguo/web-storm-tips","last_synced_at":"2025-04-11T06:03:18.697Z","repository":{"id":28732692,"uuid":"32253972","full_name":"jareguo/web-storm-tips","owner":"jareguo","description":"WebStorm 常用技巧笔记","archived":false,"fork":false,"pushed_at":"2018-12-20T06:13:28.000Z","size":56,"stargazers_count":15,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T03:54:14.055Z","etag":null,"topics":["webstorm"],"latest_commit_sha":null,"homepage":"http://jareguo.github.io/web-storm-tips","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jareguo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-15T10:05:05.000Z","updated_at":"2023-12-10T06:24:29.000Z","dependencies_parsed_at":"2022-09-05T00:11:22.589Z","dependency_job_id":null,"html_url":"https://github.com/jareguo/web-storm-tips","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jareguo%2Fweb-storm-tips","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jareguo%2Fweb-storm-tips/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jareguo%2Fweb-storm-tips/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jareguo%2Fweb-storm-tips/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jareguo","download_url":"https://codeload.github.com/jareguo/web-storm-tips/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248351383,"owners_count":21089271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["webstorm"],"created_at":"2024-10-15T01:06:08.856Z","updated_at":"2025-04-11T06:03:18.666Z","avatar_url":"https://github.com/jareguo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# WebStorm 常用技巧笔记\n[(Edit This Page)](https://github.com/jareguo/web-storm-tips/edit/master/README.md)\n\n## 通用技巧\n\n- 几乎在所有面板包括弹出窗口里，都能直接键入名字进行快速跳转。例如\n    - 在查找结果中增量查找\n    - 在 Outline 窗口中快速跳转\n    - 在 Project、Recent File 中快速跳转\n\n## 常用快捷键(Mac)：\n\n导航：\n- **打开文件**：`Shift + ⌘ + O` (被我改成了和 Chrome 相同的 `⌘ + O`)\n    - 文件名前面或后面加上`/`可打开目录\n- 打开符号：`Alt + ⌘ + O`\n- 搜索任意：双击 `Shift`\n- 跳转到声明：`⌘ + Alt + B`\n- 跳转到实现：`⌘ + B`\n- 搜索所有引用：我定义的是 `Shift + F12`\n- **弹出文件结构列表**(Outline)：`⌘ + F12`\n- 弹出最近关闭的文件列表(Recent File)：`⌘ + E`\n    - 之后直接键入文件名可快速跳转到最近关闭的文件，找不到的话按回车则在项目中查找。\n- 跳转到下一查找结果：`Alt + ⌘ + Down`\n- 弹出外部资源菜单：(在 Tab 标签上) `⌘ + Click`\n- 添加书签：`F3`，浏览书签：`⌘ + F3`\n- 跳转到代码块开头：`Alt + ⌘ + [`\n- 在左右（花）括号之间跳转：`Ctrl + M`\n\n视图：\n- 跳转回编辑面板: `Esc`\n- 切换下一个代码标签：`Ctrl + Tab` 或 `Shift + ⌘ + ]`\n- 切换上一个代码标签：`Shift + ⌘ + [`\n- 最大化/还原编辑面板：双击标签栏\n- 显示所有视图边栏：显示双击并按住 `⌘`\n- 关闭当前显示查找结果标签页：`Ctrl + Shift + F4`\n\n编辑：\n- 插入代码片段(Code Snippet)：`⌘ + J`\n- 重构：`Ctrl + T`\n- 重命名（变量等）：`Shift + F6`\n- 重构预览时，从搜索结果中排除：`Delete`\n- 格式化代码：`Alt + ⌘ + L`\n- 缩进对齐：`Ctrl + Alt + I`\n- **弹出 Intention Actions**: `Alt + Enter`\n- 同时选中下一个相同代码块：`Ctrl + G`\n- 同时选中所有相同代码块：`Ctrl + ⌘ + G`\n- 一些 Unix 终端快捷键：`Ctrl + A/E/K`\n- 单纯粘贴（不自动缩进也不格式化代码）：`Shift + Alt + ⌘ + V`\n- 行注释：`⌘ + /`\n- 块注释：`Alt + ⌘ + /`\n\n行操作：\n- 复制(选中)行：`⌘ + D`\n- **上移(选中)行**：`Shift + Alt + Up`\n- 上移(选中)语句：`Shift + ⌘ + Up`\n- 在上面插入新行：`Alt + ⌘ + Enter`\n- 在下面插入新行： `Shift + Enter`\n- 删除行：`⌘ + Delete`\n\n显示：\n- 显示方法参数说明：`⌘ + P`\n- 显示光标处的代码文档：`F1`\n- 快速查看定义：`Alt + Space`\n- 高亮当前文件中所有选中字段：`Shift + ⌘ + F7` (然后`⌘ + G`跳转下一个)\n- 扩大选中的代码块：`Alt + Up`（可以用来选词，按越多次选中的代码块范围越大）\n- 折叠/展开代码块：`⌘ + -/=`\n- 光标向上/向下移动同时滚动视图(Move Up)：我定义的是 `Shift + ⌘ + I/K`\n\n其它：\n- 激活搜索框 \"Match Case\": `Alt + C`\n- 激活搜索框 \"Words\": `Alt + R`\n- 重复最近的搜索：焦点在输入框时按 `Down`\n- 新建草稿文件: `⌘ + Shift + N`\n\n## 调整 Layout 以突出编码区域，更适合宽屏：\n- [Preferences] Appearance \u0026 Behavior \u003e Appearance：勾选 Widescreen ... layout\n- [Menu] View: 把 Toolbar, Tool Buttons, Status Bar, Navigation bar 全关掉\n\n## 允许解析 module 等 node 全局变量：\n- [Preferences] Languages \u0026 Frameworks \u003e JavaScript \u003e Libraries: 勾选 Node.js Globals\n\n## 隐藏代码折叠的箭头：\n- [Preferences] Editor \u003e Code Folding: 取消 Show code folding outline\n\n## 从项目中排除第三方文件，优化代码搜索结果：\n- [Preferences] Project \u003e Directories: 选中不需要的文件夹，点上面的 Excluded，例如这样设置：  \n![image](https://cloud.githubusercontent.com/assets/1503156/6655584/c4e5bf5a-cb3e-11e4-92ae-73f546066565.png)  \n也可以在 [Project] 面板上的文件夹点击右键，选择 Mark Directory As \u003e Excluded\n\n## 不在 [Project] 显示已排除的第三方文件：\n- [Project] 点击 \"Scope按钮\"，选择 Project Files  \n![image](https://cloud.githubusercontent.com/assets/1503156/6655587/eb5a3ef4-cb3e-11e4-8f56-4ec71755fa2c.png)\n\n## 按文件类型排序：\n- [Project] 点击齿轮下拉菜单，选中 Sort by Type 和 Folders Always on Top\n![image](https://cloud.githubusercontent.com/assets/1503156/6655599/3ff51f9c-cb3f-11e4-8973-a52bbb223cc1.png)\n\n## 在 [Project] 中定位到当前编辑的脚本：\n- 点击图中的小图标  \n![image](https://cloud.githubusercontent.com/assets/1503156/6655611/fdac47d6-cb3f-11e4-83ab-dc79eca5adf5.png)\n\n## 去掉 spell checking：\n- [Preference] Editor \u003e Inspections: 把 spelling 项的复选去掉\n\n## 设置缩进和代码格式化操作：\n- [Preference] Editor \u003e General \u003e Smart Keys: 按需设置\n\n## 屏蔽对象定义时最后多写一个逗号引起的报错：\n- [Preference] Editor \u003e Inspections \u003e JavaScript \u003e General: 取消 Last comma in object literal\n\n## 减少 jshint 报错\n- 在项目的 `.idea/jsLinters/` 目录下添加 [jshint.xml](https://raw.githubusercontent.com/jareguo/web-storm-tips/master/jshint.xml)\n\n## Postfix Completion\n- [Preferences] Editor \u003e General \u003e Postfix Completion：启用你喜欢的选项\n\n## 开启 ES6 支持\n- [Preferences] Languages \u0026 Frameworks \u003e JavaScript：选择 `ECMAScript 6`  \n（需要重启 WebStorm 才能生效）\n\n## 自动识别当前文件的缩进类型\n- [Preferences] Editor \u003e Code Style：选择 Detect and use existing file indents for editing\n\n## 滚动条快速滚动到选中位置\n- 系统设置中选中该项  \n![image](https://cloud.githubusercontent.com/assets/1503156/11030739/f9231abe-870a-11e5-93d2-404510128b17.png)\n\n-----\n\n## WebStrom 作为 diff 工具  \n```\nCommand: /Applications/WebStorm.app/Contents/MacOS/webstorm diff\nArguments: $(cd $(dirname \"$LOCAL\") \u0026\u0026 pwd)/$(basename \"$LOCAL\") $(cd $(dirname \"$REMOTE\") \u0026\u0026 pwd)/$(basename \"$REMOTE\")\n```\n\n## WebStrom 作为 merge 工具  \n```\nCommand: /Applications/WebStorm.app/Contents/MacOS/webstorm merge\nArguments: $(cd $(dirname \"$LOCAL\") \u0026\u0026 pwd)/$(basename \"$LOCAL\") $(cd $(dirname \"$REMOTE\") \u0026\u0026 pwd)/$(basename \"$REMOTE\") $(cd $(dirname \"$BASE\") \u0026\u0026 pwd)/$(basename \"$BASE\") $(cd $(dirname \"$MERGED\") \u0026\u0026 pwd)/$(basename \"$MERGED\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjareguo%2Fweb-storm-tips","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjareguo%2Fweb-storm-tips","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjareguo%2Fweb-storm-tips/lists"}