![WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件 图片[1]-WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件-不念博客](https://www.bunian.cn/wp-content/uploads/2024/01/640-4-6.png)
很多开发者在工作中使用VSCode、Vim和WebStorm/PyCharm/IntelliJ/Android Studio。
当我们需要快速编辑几行本地和远程代码时,通常使用Vim。
对于VSCode,经常将它用于前端项目;然后是WebStorm,它与PyCharm和IntelliJ/Android Studio具有相同的用户体验。
简而言之,它们的常见用途如下:
- Android Studio:适用于Android项目。
- IntelliJ:适用于Java、Groovy和Scala项目,如用Java或Scala编写的后端项目和Spark项目。
- PyCharm:适用于与数据相关的项目或无服务器代码,以及CLI工具。
- WebStore:所有前端项目。
- Vim:更改几行代码或较小的代码库。
Android Studio、IntelliJ、PyCharm和WebStore均由同一家公司JetBrains开发。
JetBrains是一家专门创建集成开发环境(IDE)的软件开发公司,用于各种编程语言。
使用多个IDE并保持相同的用户体验听起来很耗时间,但实际上它们的设置可以在这些IDE之间共享。
可以用相同的方式配置它们的插件、Vim设置、首选项、键映射等。
1. GitHub Copilot
毫无疑问,刚过去的2023年是人工智能和工作效率提高的一年。
GitHub Copilot可以根据项目的上下文和风格惯例提供建议。
快速浏览代码行,完成函数建议,并决定接受、拒绝或编辑哪些建议。
特别是在编写Spark代码时,它帮助很大,因为Spark并不容易编写。
插件:https://plugins.jetbrains.com/plugin/17718-github-copilot
2. Vim插件
正如在前文提到的,可以在这些IDE中使用相同的Vim配置(保存在~/.ideavimrc
中)。
因此,它们的键映射都基于Vim,并具有下面列出的插件提供的额外功能。
插件:
- https://plugins.jetbrains.com/plugin/164-ideavim
- https://plugins.jetbrains.com/plugin/9615-ideavimextension
- https://plugins.jetbrains.com/plugin/13360-ideavim-easymotion
- https://plugins.jetbrains.com/plugin/19162-ideavimmulticursor
- https://plugins.jetbrains.com/plugin/15348-ideavim-sneak
~/.ideavimrc
配置文件如下:
" ------------------------------------------" 外观设置" ------------------------------------------set relativenumber" 进行增量搜索。set incsearch" -------- 键映射 -------nnoremap gd :action GotoDeclarationmap <S-k> <Nop>map <C-N> <A-N>map <C-P> <A-P>map <C-X> <A-X>map g<C-N> g<A-N>" 移动行到上一行和下一行map <C-j> :m .+1<CR>==map <C-k> :m .-2<CR>==" 复制到剪贴板noremap“ + y” * ynoremap“ + Y” * Ynoremap“ + p” * pnoremap“ + P” * Pnoremap <CSc>“ * ynoremap <CSv>“ * P" 保持居中nnoremap n nzzzvnnoremap N Nzzzv" -------- 设置 -------" 禁用提示音set visualbellset noerrorbellsset clipboard^=unnamed,unnamedplusset mouse=a" 启用插件和功能:https://github.com/JetBrains/ideavim/wiki/Emulated-pluginsset argtextobjset commentaryset highlightedyankset ideajoinset multiple-cursorsset surroundset textobj-indentset vim-paragraph-motion" ------------------------------------------ " 外观设置 " ------------------------------------------ set relativenumber " 进行增量搜索。 set incsearch " -------- 键映射 ------- nnoremap gd :action GotoDeclaration map <S-k> <Nop> map <C-N> <A-N> map <C-P> <A-P> map <C-X> <A-X> map g<C-N> g<A-N> " 移动行到上一行和下一行 map <C-j> :m .+1<CR>== map <C-k> :m .-2<CR>== " 复制到剪贴板 noremap“ + y” * y noremap“ + Y” * Y noremap“ + p” * p noremap“ + P” * P noremap <CSc>“ * y noremap <CSv>“ * P " 保持居中 nnoremap n nzzzv nnoremap N Nzzzv " -------- 设置 ------- " 禁用提示音 set visualbell set noerrorbells set clipboard^=unnamed,unnamedplus set mouse=a " 启用插件和功能:https://github.com/JetBrains/ideavim/wiki/Emulated-plugins set argtextobj set commentary set highlightedyank set ideajoin set multiple-cursors set surround set textobj-indent set vim-paragraph-motion" ------------------------------------------ " 外观设置 " ------------------------------------------ set relativenumber " 进行增量搜索。 set incsearch " -------- 键映射 ------- nnoremap gd :action GotoDeclaration map <S-k> <Nop> map <C-N> <A-N> map <C-P> <A-P> map <C-X> <A-X> map g<C-N> g<A-N> " 移动行到上一行和下一行 map <C-j> :m .+1<CR>== map <C-k> :m .-2<CR>== " 复制到剪贴板 noremap“ + y” * y noremap“ + Y” * Y noremap“ + p” * p noremap“ + P” * P noremap <CSc>“ * y noremap <CSv>“ * P " 保持居中 nnoremap n nzzzv nnoremap N Nzzzv " -------- 设置 ------- " 禁用提示音 set visualbell set noerrorbells set clipboard^=unnamed,unnamedplus set mouse=a " 启用插件和功能:https://github.com/JetBrains/ideavim/wiki/Emulated-plugins set argtextobj set commentary set highlightedyank set ideajoin set multiple-cursors set surround set textobj-indent set vim-paragraph-motion
3. Key Promoter X
Key Promoter X(按键提示器X)在IDE中提供了一种简单的学习关键快捷键的方式。
当鼠标在某个按钮上操作时,程序会显示相应的可以替代鼠标操作的键盘快捷键,使用户能够用键盘按键替代繁琐的鼠标操作工作。
插件:https://plugins.jetbrains.com/plugin/9792-key-promoter-x
![WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件 图片[2]-WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件-不念博客](https://www.bunian.cn/wp-content/uploads/2024/01/640-23.gif)
4. Rainbow Brackets
Rainbow Brackets(彩虹括号)是一种独特且实用的编程工具。
它们是一种视觉辅助工具,可以帮助程序员快速识别一组括号的开头和结尾。
彩虹括号是一组按颜色编码的括号,代表编程中使用的不同类型的括号。
这使得程序员能够更容易地快速识别一组括号的开和关。
插件:https://plugins.jetbrains.com/plugin/10080-rainbow-brackets
![WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件 图片[3]-WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件-不念博客](https://www.bunian.cn/wp-content/uploads/2024/01/640-6-8.png)
5. Save Actions
Save Actions(保存操作)允许用户在保存文件时自动执行某些操作,例如代码格式化、运行线程或运行构建脚本。
这个插件对于需要快速、高效保存工作而不必手动执行繁琐任务的开发者特别有用。
插件:https://plugins.jetbrains.com/plugin/7642-save-actions
![WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件 图片[4]-WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件-不念博客](https://www.bunian.cn/wp-content/uploads/2024/01/640-7-7.png)
6. Randomness
插入随机数字、字符串和UUID。这在编写测试时非常有帮助。
插件:https://plugins.jetbrains.com/plugin/9836-randomness
![WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件 图片[5]-WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件-不念博客](https://www.bunian.cn/wp-content/uploads/2024/01/640-8-6.png)
7. 适用于Java、Groovy或Scala的TestMe
它允许开发者点击一个按钮,快速生成Java、Groovy或Scala的单元测试,支持JUnit 4/5、TestNG、Spock或Specs2框架。
它还可以自动生成Mockito模拟的依赖项以及相关的返回语句,并通过转到Integrates with IDEA menus: Code->TestMe, Code->Generate
生成测试参数和断言语句。
通过此插件和Github Copilot的结合,编写单元测试的速度提高了10倍。
插件:https://plugins.jetbrains.com/plugin/9471-testme
![WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件 图片[6]-WebStore/PyCharm/IntelliJ/AndroidStudio中的必备插件-不念博客](https://www.bunian.cn/wp-content/uploads/2024/01/640-9-6.png)