JS/React 开发者的 Atom 终极配置
原文作者:Elad Ossadon
原文链接:The Ultimate Atom Editor Setup (+for JS/React) (opens in a new tab)
根据多年以来不断完善 Sublime Text 配置的经验,决定这次给 Atom 也来一个大改造。这个过程花费了好几个月的时间,但成果还是很卓有成效的,我现在非常满意这份配置。
这份清单将分为实用工具和 React 专用,并涉及到快捷键绑定。
实用工具
atom-beautify (opens in a new tab)
可以在 Atom 中 美化 HTML,CSS,JavaScript,PHP,Python,Ruby,Java,C,C ++,C#,Objective-C,CoffeeScript,TypeScript,Coldfusion,SQL等。
快捷键:⌃+⌥+B
prettier-atom (opens in a new tab)
使用 Prettier 来格式化 JavaScript 代码,配有强大的 ESlint 集成。
快捷键:⌃+⌥+F
atom-transpose (opens in a new tab)
Atom 的转置更像是字符串翻转。在 Sublime 可以将选中的两个字符串进行交换,看起来更有用。
快捷键:⌥+T
case-keep-replace (opens in a new tab)
使用这个插件可以在替换文本的时候可以保留原来的命名风格。
快捷键:⌘+⌃+R
change-case (opens in a new tab)
一个可以快速改变当前选择文本命名方式的工具。比如可以从 camelCase
转换到 snake_case
等。
快捷键:⌘+K ⌘+C/S
copy-path (opens in a new tab)
可以灵活地复制文件路径。
duplicate-line-or-selection (opens in a new tab)
重复选择文本或者重复一行,跟 Sublime Text 的行为一致,Atom 可以重复一整行。
快捷键:⌘+⇧+D
editorconfig (opens in a new tab)
帮助开发人员在不同的编辑器之间保持一致的编码风格。
file-icons (opens in a new tab)
Atom 的文件特定图标插件,便于区分不同文件类型。
git-plus (opens in a new tab)
VIM 风格的 git 插件,在没有终端命令行的时候进行提交等其他 git 操作。
highlight-selected (opens in a new tab)
通过双击一个词来高亮整个文件相同的词。
local-history (opens in a new tab)
用于维护本地文件历史的插件(对代码文件进行更改的历史记录)。
project-manager (opens in a new tab)
轻松访问所有项目,还能对项目特定设置和选项进行管理。
快捷键:⌘+⌃+P
atom-reveal-file-in-finder (opens in a new tab)
可以在工作区或者文件选项卡上打开文件到 Finder 上,快捷命令已经添加到 ⌘+⇧*+P
。
快捷键:⌘+⌃+P
related (opens in a new tab)
related 提供了访问与当前打开的文件相关的文件的快速方式。 例如,在 .js
和 .spec.js
文件之间切换。
快捷键:⌘+⇧+ R
我的 JS 关联配置 (Menu > Packages > Related > Edit related patterns):
'([^\\/]+)(?!\\.spec).js(x?)$': [
'tests/$1.spec.js$2#create',
]
'tests/(.+).spec.js(x?)$': [
'$1.js$2',
]
set-syntax (opens in a new tab)
一种简单的命令方式来设置当前文件语法,与 Sublime 类似。
快捷键:⌘+⇧+P
sort-lines (opens in a new tab)
排序/删除重复行。
sublime-style-column-selection (opens in a new tab)
alt +单击跨行选择文本块,每行都有插入符号。
快捷键:⌥+Drag
tab-foldername-index (opens in a new tab)
可以替换 TAB 标签内容的插件,在打开相同文件名的文件时保证更高的可读性。
sync-settings (opens in a new tab)
跨 Atom 实例同步设置,键盘映射,用户样式,初始化脚本,代码段和已安装的软件包。 我将所有设置备份到 Gist 并在工作/个人计算机之间进行同步。
toggle-quotes (opens in a new tab)
快速切换字符串的单引号和双引号。
快捷键:⌘+⇧+’
atom-spotify2 (opens in a new tab)
在 Atom 状态栏中显示在 Spotify 中当前播放歌曲。 不是必要的,但很有趣。
HTML/CSS/JS/React Specific Packages
atom-ternjs (opens in a new tab)
使用 Tern 为 Atom 提供 JavaScript 代码智能提示,支持 ES5,ES6,ES7,Node.js,jQuery,Angular等。
atom-wrap-in-tag (opens in a new tab)
为选择的文本增加标签。
快捷键:⌥+⇧+W
autoclose-html (opens in a new tab)
自动添加关闭标签。
autocomplete-modules (opens in a new tab)
自动补全 require/import
声明。
color-picker (opens in a new tab)
很厉害的颜色选择器。
快捷键:⌘+⇧+D
docblockr (opens in a new tab)
更容易的方式写文档注释。
使用方式: /** <tab>
emmet (opens in a new tab)
一个大大提高 HTML 和 CSS 工作流程的插件。 关于 Emmet (opens in a new tab)
emmet-jsx-css-modules (opens in a new tab)
适用于 css 模块的 emmet 工具。 .foo
现在将扩展为 <div className = {style.foo}> </ div>
,而不是 <div className =“foo”> </ div>
。
es6-javascript (opens in a new tab)
一组专注 ES6,用于优化现代 JavaScript 开发生产力的命令集, 目标是符合 Airbnb 推荐的代码规范 (opens in a new tab)。
js-hyperclick (opens in a new tab) & hyperclick (opens in a new tab)
点击跳到变量或者 import 定义,js-hyperclick 依赖于 hyperclick。
pigments (opens in a new tab)
在项目文件中显示颜色。
linter-eslint (opens in a new tab)
插件 Linter (opens in a new tab) 为 eslint (opens in a new tab) 提供 UI 接口,用于对 JavaScript 文件进行静态检查。
tree-view-copy-relative-path (opens in a new tab)
允许从 tree view 复制文件的相对路径。
lodash-snippets (opens in a new tab)
在 Atom 中快速使用 lodash 的代码提示。
language-babel (opens in a new tab)
支持 JavaScript ES201x,React JSX,Flow和GraphQL语法。
react-es7-snippets (opens in a new tab)
React ES7 snippets for atom
atom-jest-snippets (opens in a new tab)
Jest 测试提示
我的主题
UI Theme: one-dark-ui (opens in a new tab)
Syntax Theme: dracula-theme (opens in a new tab)
Install EVERYTHING!
apm install atom-beautify prettier-atom atom-spotify2 atom-transpose case-keep-replace change-case copy-path duplicate-line-or-selection editorconfig file-icons git-plus highlight-selected local-history project-manager related set-syntax atom-reveal-file-in-finder sort-lines sublime-style-column-selection tab-foldername-index sync-settings toggle-quotes atom-wrap-in-tag atom-ternjs autoclose-html autocomplete-modules color-picker docblockr emmet emmet-jsx-css-modules es6-javascript js-hyperclick hyperclick pigments linter-eslint tree-view-copy-relative-path lodash-snippets language-babel react-es7-snippets atom-jest-snippets one-dark-ui dracula-theme