├── jshint.xml └── README.md /jshint.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 70 | 71 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # WebStorm 常用技巧笔记 2 | [(Edit This Page)](https://github.com/jareguo/web-storm-tips/edit/master/README.md) 3 | 4 | ## 通用技巧 5 | 6 | - 几乎在所有面板包括弹出窗口里,都能直接键入名字进行快速跳转。例如 7 | - 在查找结果中增量查找 8 | - 在 Outline 窗口中快速跳转 9 | - 在 Project、Recent File 中快速跳转 10 | 11 | ## 常用快捷键(Mac): 12 | 13 | 导航: 14 | - **打开文件**:`Shift + ⌘ + O` (被我改成了和 Chrome 相同的 `⌘ + O`) 15 | - 文件名前面或后面加上`/`可打开目录 16 | - 打开符号:`Alt + ⌘ + O` 17 | - 搜索任意:双击 `Shift` 18 | - 跳转到声明:`⌘ + Alt + B` 19 | - 跳转到实现:`⌘ + B` 20 | - 搜索所有引用:我定义的是 `Shift + F12` 21 | - **弹出文件结构列表**(Outline):`⌘ + F12` 22 | - 弹出最近关闭的文件列表(Recent File):`⌘ + E` 23 | - 之后直接键入文件名可快速跳转到最近关闭的文件,找不到的话按回车则在项目中查找。 24 | - 跳转到下一查找结果:`Alt + ⌘ + Down` 25 | - 弹出外部资源菜单:(在 Tab 标签上) `⌘ + Click` 26 | - 添加书签:`F3`,浏览书签:`⌘ + F3` 27 | - 跳转到代码块开头:`Alt + ⌘ + [` 28 | - 在左右(花)括号之间跳转:`Ctrl + M` 29 | 30 | 视图: 31 | - 跳转回编辑面板: `Esc` 32 | - 切换下一个代码标签:`Ctrl + Tab` 或 `Shift + ⌘ + ]` 33 | - 切换上一个代码标签:`Shift + ⌘ + [` 34 | - 最大化/还原编辑面板:双击标签栏 35 | - 显示所有视图边栏:显示双击并按住 `⌘` 36 | - 关闭当前显示查找结果标签页:`Ctrl + Shift + F4` 37 | 38 | 编辑: 39 | - 插入代码片段(Code Snippet):`⌘ + J` 40 | - 重构:`Ctrl + T` 41 | - 重命名(变量等):`Shift + F6` 42 | - 重构预览时,从搜索结果中排除:`Delete` 43 | - 格式化代码:`Alt + ⌘ + L` 44 | - 缩进对齐:`Ctrl + Alt + I` 45 | - **弹出 Intention Actions**: `Alt + Enter` 46 | - 同时选中下一个相同代码块:`Ctrl + G` 47 | - 同时选中所有相同代码块:`Ctrl + ⌘ + G` 48 | - 一些 Unix 终端快捷键:`Ctrl + A/E/K` 49 | - 单纯粘贴(不自动缩进也不格式化代码):`Shift + Alt + ⌘ + V` 50 | - 行注释:`⌘ + /` 51 | - 块注释:`Alt + ⌘ + /` 52 | 53 | 行操作: 54 | - 复制(选中)行:`⌘ + D` 55 | - **上移(选中)行**:`Shift + Alt + Up` 56 | - 上移(选中)语句:`Shift + ⌘ + Up` 57 | - 在上面插入新行:`Alt + ⌘ + Enter` 58 | - 在下面插入新行: `Shift + Enter` 59 | - 删除行:`⌘ + Delete` 60 | 61 | 显示: 62 | - 显示方法参数说明:`⌘ + P` 63 | - 显示光标处的代码文档:`F1` 64 | - 快速查看定义:`Alt + Space` 65 | - 高亮当前文件中所有选中字段:`Shift + ⌘ + F7` (然后`⌘ + G`跳转下一个) 66 | - 扩大选中的代码块:`Alt + Up`(可以用来选词,按越多次选中的代码块范围越大) 67 | - 折叠/展开代码块:`⌘ + -/=` 68 | - 光标向上/向下移动同时滚动视图(Move Up):我定义的是 `Shift + ⌘ + I/K` 69 | 70 | 其它: 71 | - 激活搜索框 "Match Case": `Alt + C` 72 | - 激活搜索框 "Words": `Alt + R` 73 | - 重复最近的搜索:焦点在输入框时按 `Down` 74 | - 新建草稿文件: `⌘ + Shift + N` 75 | 76 | ## 调整 Layout 以突出编码区域,更适合宽屏: 77 | - [Preferences] Appearance & Behavior > Appearance:勾选 Widescreen ... layout 78 | - [Menu] View: 把 Toolbar, Tool Buttons, Status Bar, Navigation bar 全关掉 79 | 80 | ## 允许解析 module 等 node 全局变量: 81 | - [Preferences] Languages & Frameworks > JavaScript > Libraries: 勾选 Node.js Globals 82 | 83 | ## 隐藏代码折叠的箭头: 84 | - [Preferences] Editor > Code Folding: 取消 Show code folding outline 85 | 86 | ## 从项目中排除第三方文件,优化代码搜索结果: 87 | - [Preferences] Project > Directories: 选中不需要的文件夹,点上面的 Excluded,例如这样设置: 88 | ![image](https://cloud.githubusercontent.com/assets/1503156/6655584/c4e5bf5a-cb3e-11e4-92ae-73f546066565.png) 89 | 也可以在 [Project] 面板上的文件夹点击右键,选择 Mark Directory As > Excluded 90 | 91 | ## 不在 [Project] 显示已排除的第三方文件: 92 | - [Project] 点击 "Scope按钮",选择 Project Files 93 | ![image](https://cloud.githubusercontent.com/assets/1503156/6655587/eb5a3ef4-cb3e-11e4-8f56-4ec71755fa2c.png) 94 | 95 | ## 按文件类型排序: 96 | - [Project] 点击齿轮下拉菜单,选中 Sort by Type 和 Folders Always on Top 97 | ![image](https://cloud.githubusercontent.com/assets/1503156/6655599/3ff51f9c-cb3f-11e4-8973-a52bbb223cc1.png) 98 | 99 | ## 在 [Project] 中定位到当前编辑的脚本: 100 | - 点击图中的小图标 101 | ![image](https://cloud.githubusercontent.com/assets/1503156/6655611/fdac47d6-cb3f-11e4-83ab-dc79eca5adf5.png) 102 | 103 | ## 去掉 spell checking: 104 | - [Preference] Editor > Inspections: 把 spelling 项的复选去掉 105 | 106 | ## 设置缩进和代码格式化操作: 107 | - [Preference] Editor > General > Smart Keys: 按需设置 108 | 109 | ## 屏蔽对象定义时最后多写一个逗号引起的报错: 110 | - [Preference] Editor > Inspections > JavaScript > General: 取消 Last comma in object literal 111 | 112 | ## 减少 jshint 报错 113 | - 在项目的 `.idea/jsLinters/` 目录下添加 [jshint.xml](https://raw.githubusercontent.com/jareguo/web-storm-tips/master/jshint.xml) 114 | 115 | ## Postfix Completion 116 | - [Preferences] Editor > General > Postfix Completion:启用你喜欢的选项 117 | 118 | ## 开启 ES6 支持 119 | - [Preferences] Languages & Frameworks > JavaScript:选择 `ECMAScript 6` 120 | (需要重启 WebStorm 才能生效) 121 | 122 | ## 自动识别当前文件的缩进类型 123 | - [Preferences] Editor > Code Style:选择 Detect and use existing file indents for editing 124 | 125 | ## 滚动条快速滚动到选中位置 126 | - 系统设置中选中该项 127 | ![image](https://cloud.githubusercontent.com/assets/1503156/11030739/f9231abe-870a-11e5-93d2-404510128b17.png) 128 | 129 | ----- 130 | 131 | ## WebStrom 作为 diff 工具 132 | ``` 133 | Command: /Applications/WebStorm.app/Contents/MacOS/webstorm diff 134 | Arguments: $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") 135 | ``` 136 | 137 | ## WebStrom 作为 merge 工具 138 | ``` 139 | Command: /Applications/WebStorm.app/Contents/MacOS/webstorm merge 140 | Arguments: $(cd $(dirname "$LOCAL") && pwd)/$(basename "$LOCAL") $(cd $(dirname "$REMOTE") && pwd)/$(basename "$REMOTE") $(cd $(dirname "$BASE") && pwd)/$(basename "$BASE") $(cd $(dirname "$MERGED") && pwd)/$(basename "$MERGED") 141 | ``` 142 | --------------------------------------------------------------------------------