豪翔天下

Change My World by Program

0%

我用的IDEs及其配置

多年前,我喜欢用sublime,那时候我主要开发的是Python这种很简单的脚本语言,后来接触了IDE才发现,对开发者来说,编辑器真的只是暂时的工具,真正能提高大幅度提高开发效率的绝对是功能完整、适配性强的IDE呀😂。

Android Studio

  • 需要签名的项目,需要先生成JSK文件,在Build->Build signed APK里面创建一个即可

  • **Error: Failed to resolve: com.android.support.constraint:constraint-layout-solver:1.0.2**,只需要在SDK Manager中的SDK Tools中的ConstraintLayout for Android下载或者下载指定的版本即可

  • /dev/kvm permission denied: 原因是当前用户没有在kvm用户组中,需要进行这样的设置:

    1
    2
    3
    4
    5
    6
    sudo apt-get install qemu-kvm -y
    ls -al /dev/kvm # 查看当前kvm权限,一般是属于root用户,kvm组的
    grep kvm /etc/group # 查看kvm用户组里面有哪些用户,一般只有kvm:x:数字:
    sudo adduser 用户名 kvm # 将自己添加到kvm用户组中
    grep kvm /etc/group # 现在应该变成kvm:x:数字:用户名了
    # 最后注销重新登录即可生效

IDEA系列

  • 最好只安装一个IDEAPhpStrom/PyCharm/WebStorm可以以插件的方式引入,而且支持都非常不错

  • Intellij IDEA配置文档

  • Extract Method功能能够快速将一段代码提取并成为一个方法,对于代码重构十分方便,特别是在一个方法特别长的时候想要将其中某几行代码提取作为一个方法的时候只需要选中然后Refactor->Extract Method即可,能直接生成方法,并且还能自动给方法取名。

  • 设置不索引某个目录,在目录上右键Mark Directory as -> Excluded

  • 常用快捷键

    1
    2
    3
    Alt+Enter # 万能的快捷键,弹出你用鼠标悬停看到的提示的帮助
    Shift+option # 多列选择
    Cmd+` # 在不同的工程之间切换
  • 展开左边文件目录树快捷方式设置,默认是NumPad *,我真不知道是哪个键,于是统一改成command +

  • 手动将一个文件夹变为resources目录或者tests目录,只需要在左侧目录树右键需要设置的目录,选择Mark Directory as,可以选择设置成Test Sources Root/Resources Root/Test Resources Root/Excluded

  • 代码风格设置(直接在Preferences里面搜索设置项)

    • 赋值语句等号对齐: Align consecutive assignments
    • 数组内键值对对齐: Align key-value pairs
    • 类变量定义等号对齐并且变量也对齐: Class field/constant groups -> Align fields in columns & Align constatns
    • 简单的函数直接在一行: Simple methods in one line
    • 简单的函数在一行: Simple classes in one line
    • 函数参数多行时自动对齐: Function/constructor call arguments -> Align when multiline
    • 函数参数多行时括号和第一个参数换行: Function/constructor call arguments -> New line after '()'
    • 函数参数多行时将反括号单独一行: Function/constructor call arguments ->Place ')' on new line
    • 函数注释中描述和参数之间空一行PHPDoc -> Blank line before the first tag
    • 取消自动将多个import替换为import *: Editor -> Code Style -> Java ,将Class count to use import with '*'Names count to use static import with '*'变大比如99,然后将下面的Packages to Use Imporot with '*'中的import java.awt.*import javax.swing删除
    • 取消js循环中属性不存在的提示: Unfiltered for ..in loop取消即可
  • 一次移除所有的断点breakpoints: 双击Shift,然后输入Remove all即可看到菜单

  • 设置新建文件模板,比如自动加入Created By name on ${DATE}等功能:

    • Perferences->Editor->File and Code Templates,这里面可以针对不同类型的文件创建不同的模板

    • 找到Class表示新建Java类的时候的模板,只需要在中间插入需要加入的注释信息即可:

      1
      2
      3
      4
      5
      6
      7
      #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
      #parse("File Header.java")
      /**
      * Created by haofly on ${DATE}
      */
      public class ${NAME} {
      }

Intellij IDEA

  • 使用Tomcat运行Maven项目。在Run->Edit Configurations中添加配置,选择maven,然后直接在Command line中输入tomcat:run即可。如果这种方式有问题,那么可以自己去Tomcat官网下载最新版的Tomcat(Mac可以下载tar.gz格式的文件,下载后解压即可),然后在IDEA中通过mav package将项目打成war包,再添加运行配置Run->Edit Configurations添加Smart Tomcat(需要先下载Smart Tomcat插件,自带的Tomcat Server我配置过好几次都没能成功),填入以下几个必要配置:
    • Tomcat Server: 选择刚才解压后的目录即可,例如/Users/name/Downloads/apache-tomcat-9.0.27
    • Deployment Directory: 填入war包的生成目录,例如./project-web/src/main/webapp
    • Context Path: 填入webapp的目录,前缀直接填斜杠即可,例如/project-web
  • 使用jetty运行Maven项目或者出现No plugin found for prefix 'jetty' in the current project and in the plugin groups错误。在Run->Configurations中添加配置,选择maven,然后Working directory中选择项目的web目录,最后Command line中输入org.mortbay.jetty:maven-jetty-plugin:run。在运行前,需要先mav install一下,可以直接在ide中右边侧栏选择Maven然后选择根目录Lifecycle->install
  • 运行spring项目直接点击运行Application.java即可
  • 如果本地有两个项目,其中一个依赖于另外一个作为jar包,可以在另外一个里面先maven install然后在本地的仓库目录即可更新该包,这样依赖的那个项目maven reimport就能够更新了
  • 添加依赖不生效解决方法
    • 可能是网络问题导致没有拉取到最新的仓库列表,搭梯子试试
  • IDEA运行Tomcat报错 java.lang.NullPointerException,项目都还没有启动就报这个错,按照如下方法解决:
    • 检查项目目录是否已经生成了war
    • 论坛可能是bug,可以通过随便修改运行配置的方式恢复Run->editConfiguration,选择Tomcat配置随便修改其中某个值,然后保存
  • maven reimport不起作用: 可以先后采取以下几种方法:
    • 删除依赖包路径中的源码包
    • File->Invalidate Caches / Restart
    • 重启Idea
    • 关闭Idea,删除项目目录下的.idea文件夹,再重新打开Idea
  • Could not autowire. No beans of ‘xxx’ type found: 这篇文章提供了7个方法,我最终选择了修改检测级别的方法,因为其他的方法都需要对代码有改动。
  • IDEA 运行Django项目提示No module named xxx 或者 please select django module: 需要在File->Project Structure->modules中将当前module删除,然后新建module,选择当前项目的根目录,将当前项目设置为一个Django项目,注意New Module的时候Module Name为放置settings.py文件的目录名,下面的Content Root不要去动,建好后点击Django设置项目根目录和settings.py文件位置
  • Django项目No manage.py file specified in Settings->Django Support: 原因是ide找不到默认的settings.py文件,可以在运行时候增加环境变量:DJANGO_SETTINGS_MODULE=myCustomFolder.settings
  • Maven编译java.lang.ExceptionInInitializerError: com.sun.tools.javac.code.TypeTags,原因可能是lombok版本过低,Java版本过高导致,要么升lombok,要么降Java
  • Error: java: 不支持发行版本5: 依然是java版本的问题,可以尝试在Project Settings->Project->Project SDK中选择不同的Java版本
  • 添加外部工具External Tools: 可以参见下面的Prettier配置
  • 默认的mvn路径: /Applications/IntelliJ\ IDEA.app/Contents/plugins/maven/lib/maven3/bin/mvn
  • 增加控制台console缓冲区,增加输出行数: Settings -> 搜索Console -> Override console cycle buffer size (1024 KB),把这个值调大即可
  • 双击Shift,然后输入Inspect Code可以检查所有的IDE级别的代码提示

个人配置

  • 修改Idea占用内存大小在Help->Diagnostic->Change memory settings

  • 下面的语法配置直接在Preferences中搜索即可

1
2
3
4
5
6
7
8
9
10
11
# 设置等号对齐
Align consecutive assignments
Align key-value paris
Serializable class without 'serialVersionUID' # 自动生成Java类的serialVersionUID

# 代码提示不区分大小写
Code Completion -> 取消Match case

# 不提示No data sources configured,禁用下面两项
Inspections -> SQL -> No data sources configured
Inspections -> SQL -> SQL dialect detection

IDEA推荐插件

  • Alibaba Java Coding Guidelines: 阿里巴巴Java开发规范
  • CodeGlance: 类似sublime,显示在右边的代码缩略图,Ctrl + Shift + G可以开关显示
  • .env files support: .env文件支持
  • .ignore: 生成我们需要的.gitignore文件模版
  • Key Promoter X: 会统计你鼠标点击某个功能的次数,提示你应该用什么快捷键
  • Prettier: JS格式化工具
  • Python: 支持Python开发
  • Rainbow Brackets: 可以实现配对括号使用相同的颜色
  • SASS Sorter: sass/css排序
  • SonarLint: 自动发现代码中的错误,支持多语言,不推荐了,每次安装了依赖以后就它卡住
  • Vue.js: 支持Vue.js开发

JS Library

Languages & Frameworks -> JavaScript -> Libraries,在这里可以为指定框架或者语言下载单独的语法提示功能,非常全,比如React/Vue/JsX/material-ui/bootstrap/stripe/lodash/jquery

集成Python代码格式化工具black

https://black.readthedocs.io/en/stable/integrations/editors.html

Prettier配置

  • 首先需要安装prettier,可以全局安装也可以安装在当前项目

  • Preferences->Languages & Frameworks->Javascript->Prettier中设置prettier package的路径,例如~/.nvm/versions/node/v10.16.2/lib/node_modules/prettier

  • 然后Preferences->Keymap,搜索prettier关键字,设置Reformat with Prettier的快捷键,我一般设置成: Shift + alt + cmd + P

  • 如果想要保存文件后自动格式化,就需要再配置watcher,在Preferences->Tools->file Watchers,点击”+”添加一个prettier类型的watcher,默认设置,然后保存即可

  • 在项目根目录下可以新建一个.prettierrc配置文件用于覆盖默认配置,配置完成后可直接在该文件名上右键点击Apply Prettier Code Style Rules。例如:

1
2
3
4
5
6
7
{
"singleQuote": true, // 使用单引号
"semi": false, // 每行末尾是否带分号
"trailingComma": "none", // JSON格式的数据或对象最后一个元素后需不需要逗号
"useTabs": false, // 是否使用tab而不是用空格
"printWidth": 120 // 每行最长宽度120
}
  • **prettier没有在函数名和参数口号之间加空格的功能(eslint默认开启了space-before-function-paren设置的)**,如果需要实现这个功能,可以先使用prettier格式化代码,再使用eslint格式化一下。可以添加一个External Tools,填写如下参数。有人说这个可以用prettier-eslint来代替,可是我实在不知道这个东西怎么用

    1
    2
    3
    Program: /bin/bash	# 因为有多条命令,External Tools不能直接写多条命令,所以用这个代替
    Arguments: -c "prettier --write $FileName$; /Users/haofly/workspace/myproject/node_modules/.bin/eslint --fix $FileName$"
    Working directory: $FileDir$

FTP配置

  • 必须开启FTP/SFTP Connectivity (ex. Remote Hosts Access)插件并重启
  • Tools->Deployment->Configuration进行配置

连接数据库

  • 如果各种参数防火墙配置都没问题,依然连接就超时,可以尝试在连接设置里面的Advanced -> useSSL设置为false试试

PhpStorm

  • 设置PHP版本: Perferences->Languages->Frameworks
  • 取消注释引入全名的警告: Perference->搜索Fully qualified name usage,右边的勾取消

EAP 版本下载地址

PyCharm

EAP 版本下载地址

坚持原创技术分享,谢谢支持

欢迎关注我的其它发布渠道