IDEA 使用

工欲善其事必先利其器,选择适合自己的 IDE,会让自己事倍功半。作为 Java 开发环境,有人喜欢 Eclipse,有人喜欢 idea,这其中的差别对比这里不做对比,需要了解的朋友可以自行百度。这里主要着重聊一下我关于使用 idea 的一些使用配置

修改配置文件,加速启动 idea

  • idea64.exe.vmoptions,电脑运行内存大,可以增大 -Xms 、Xmx 参数值,加速启动
-Xms128m
-Xmx750m
-XX:ReservedCodeCacheSize=240m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=50
-ea
-Dsun.io.useCanonCaches=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow

更换主题,显示源码颜色字体

  • 主题地址 :http://www.riaway.com/index.php

  • 下载对应的主题 jar 包,file -- > settings -- > Editor -- > Color Scheme -- > 右边下拉框,选择 import Scheme -- > 选择 Intellij Idea color scheme(.icls) or settings(.jar), 然后左边下拉框选择刚刚导入的主题即可

  • 第二种导入主题包 : file --> import settings -->导入刚刚下载的主题 jar 包即可

配置 Idea,方便操作

  • 勾选如图选项,配置按住 Ctrl 键,滚动鼠标滚轮,放大字体

  • 勾选如图选项,鼠标放在代码上显示代码的注释说明

  • 勾选如图选项,显示代码行号和方法分隔符

  • 取消如图勾选,忽略大小写提示

  • 取消勾选,多个 java 文件打开时,可以多行显示而不再隐藏部分

    • 取消勾选前

    • 取消勾选后

  • 设置默认字体、字体大小、行间距

  • 修改注释颜色

  • 设置头部注释

    • 重新创建一个 java 文件就会显示

快捷键(可以自定义)

  • 例如我修改程序运行操作 run,快捷键改为 R

  • Ctrl+Enter :在当前位置换行到下一行

  • Ctrl+Alt+Enter : 在当前位置换行到上一行

  • 操作中文名 操作英文名(搜索快捷键) 快捷键(idea 显示大写)
    运行 run R(Run)
    提示不全 Class Name Completion T(Tips)
    单行注释 Comment with Line Comment Ctrl+/ , 再按一次表示取消注释
    多行块注释 Comment with Block Comment Ctrl+shift+/ , 再按一次表示取消注释
    向下复制一行 Duplicates line Ctrl +shift+向下箭头
    删除一行或选中行 Delete Line Ctrl + D
    向上移动行 move statement(line) up 右边的 Alt+向上箭头(U)
    向下移动行 move statement(line) down 右边的 Alt+向下箭头(D)
    查看源码 class Ctrl+选中的代码
    撤销 Ctrl+Z
    反撤销 Ctrl+Y
    后移 Tab
    前移 Shift+Tab
    查看类结构 Ctrl+O
    重构命名 Alt+Shift+R
    大小写切换 Ctrl+Shift+y
    收起所有的方法 collapse all Ctrl+Shift+NumPad/(数字键盘 /)
    打开所有的方法 expand all Ctrl+NumPad *(数字键盘 *)
    try catch surround with Alt+Shift+Z
    查找/替换 Ctrl+F
    全局查找 Ctrl+H
    显示类结构UML 图 Ctrl+Alt+Shift+U
    查看方法的多层重写结构 Ctrl+Shift+H
    • 其他的不列出来了,可以自己探索

模板,通过缩写更快生成代码

  • live template(可以自定义)

  • Postfix Completion(不能修改)

​ 例子

  • public class Test02 {
    //prsf
    private static final String DATA="num";
    public static void main(String[] args) {
    //sout
    System.out.println();
    //soutp
    System.out.println("args = [" + args + "]");
    //soutm
    System.out.println("Test02.main");
    //xxx.sout
    int num =10;
    System.out.println(num); //fori
    String data[] = new String[]{"LiLei","HanMeiMei","Tom","WuYiFan"};
    for (int i = 0; i < data.length; i++) {
    System.out.println(data[i]);
    }
    //变形
    for (String dataValue : data) {
    System.out.println(dataValue);
    } //list.for
    List<String> list = Arrays.asList("LiLei","HanMeiMei","Tom","WuYiFan");
    for (String s : list) {
    System.out.println(s);
    } //list.forr
    for (int i = list.size() - 1; i >= 0; i--) {
    System.out.println(list.get(i));
    } //ifn
    if (list == null) { } //inn
    if (list != null) { } //xxx.nn,xxx.null
    if (list != null) { } if (list == null) { } }
    }
  • 模板 模板详细输出 含义
    psvm public static void main(String[] args) { } 声明一个 main 函数
    sout System.out.println(); 输出语句
    soutp System.out.println("args = [" + args + "]"); 打印方法参数
    soutm System.out.println("Test02.main"); 输出当前类和所在方法名
    xxx.sout int num =10;
    System.out.println(num);
    输出 xxx 值
    fori for (int i = 0; i < data.length; i++) { } 打印循环数组
    iter for (String dataValue : data) { } 打印数组
    list.for for (String s : list) { } 遍历集合
    list.forr for (int i = list.size() - 1; i >= 0; i--) { } 降序输出集合数据
    ifn if (list == null) { } 判断 list ==null 时
    inn if (list != null) { } 判断 list !=null 时
    list.nn if (list != null) { } 判断 list !=null 时
    list.null if (list == null) { } 判断 list ==null 时
    prsf private static final 定义私有静态全局变量
    prsf public static final 定义公有静态全局变量
  • 修改模板

    • 将 psvm 修改为 main ,输入 psvm 无效,输入 main 输出 main 方法声明

    • psfi 原始模板
      public static final int
      修改后的模板,可以接着自定义参数
      public static final int $VAR1$ = $VAR2$
      $END$
  • 自定义模板

    • 为了区分和管理,需要自定义以后个模板组

      file --> Settings --> Live Templates --> 右上角 + --> template group
    • 创建 Live Templates

      填写 Abbreviation : test 、description : create test method、
      Template Text:
      @Test
      public void test$VAR1$(){
      $VAR2$
      }
    • 然后左下角选择 Define ,选择应用到对应的编程语言,这里选 Java

IDEA 部署 Tomcat

IDEA 连接数据库

IDEA 集成版本控制

从 gitHub 获取项目

上传项目到 gitHub

IDEA 断点调试

条件断点

IDEA Maven 配置

IDEA 生成 JavaDoc

IDEA 使用的配置的更多相关文章

  1. 配置android sdk 环境

    1:下载adnroid sdk安装包 官方下载地址无法打开,没有vpn,使用下面这个地址下载,地址:http://www.android-studio.org/

  2. Android Studio配置 AndroidAnnotations——Hi_博客 Android App 开发笔记

    以前用Eclicps 用习惯了现在 想学学 用Android Studio 两天的钻研终于 在我电脑上装了一个Android Studio 并完成了AndroidAnnotations 的配置. An ...

  3. react-router 组件式配置与对象式配置小区别

    1. react-router 对象式配置 和 组件式配置    组件式配置(Redirect) ----对应---- 对象式配置(onEnter钩子) IndexRedirect -----对应-- ...

  4. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  5. Android Studio 多个编译环境配置 多渠道打包 APK输出配置

    看完这篇你学到什么: 熟悉gradle的构建配置 熟悉代码构建环境的目录结构,你知道的不仅仅是只有src/main 开发.生成环境等等环境可以任意切换打包 多渠道打包 APK输出文件配置 需求 一般我 ...

  6. Virtual Box配置CentOS7网络(图文教程)

    之前很多次安装CentOS7虚拟机,每次配置网络在网上找教程,今天总结一下,全图文配置,方便以后查看. Virtual Box可选的网络接入方式包括: NAT 网络地址转换模式(NAT,Network ...

  7. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  8. nginx配置反向代理或跳转出现400问题处理记录

    午休完上班后,同事说测试站点访问接口出现400 Bad Request  Request Header Or Cookie Too Large提示,心想还好是测试服务器出现问题,影响不大,不过也赶紧上 ...

  9. Swift3.0服务端开发(一) 完整示例概述及Perfect环境搭建与配置(服务端+iOS端)

    本篇博客算是一个开头,接下来会持续更新使用Swift3.0开发服务端相关的博客.当然,我们使用目前使用Swift开发服务端较为成熟的框架Perfect来实现.Perfect框架是加拿大一个创业团队开发 ...

  10. 在 ML2 中配置 OVS flat network - 每天5分钟玩转 OpenStack(133)

    前面讨论了 OVS local network,今天开始学习 flat network. flat network 是不带 tag 的网络,宿主机的物理网卡通过网桥与 flat network 连接, ...

随机推荐

  1. mysql再回首

    Mysql与Oracle的区别 1.实例区别 Mysql是一个轻量型数据库,开源免费.Oracle是收费的而且价格非常高. Mysql一个实例可以操作多个库,而Oracle一个实例只能对应一个库. M ...

  2. 百度与谷歌seo优化的差别

    http://www.wocaoseo.com/thread-126-1-1.html 常有朋友问谷歌(google)和百度(baidu)到底有什么区别?我在纠结这个问题该如何回答.如果从公平公正的角 ...

  3. 《MySQL数据库》MySQL ERRORLOG,BINLOG,SLOWLOG日志详解

    前言 MySQL 经常出现启动错误或者执行错误等等,这个时候我们需要查询error日志 在数据库使用中,经常会出现需要恢复数据的情况,MySQL如果需要恢复数据的话需要开启binlog(二进制日志). ...

  4. [PyTorch 学习笔记] 3.3 池化层、线性层和激活函数层

    本章代码:https://github.com/zhangxiann/PyTorch_Practice/blob/master/lesson3/nn_layers_others.py 这篇文章主要介绍 ...

  5. Ingress-nginx 与 Nginx-ingress

    一.概述 Ingress-nginx:它是由Kubernetes社区基于Nginx Web服务器开发的,并补充了一组用于实现额外功能的Lua插件,作为“官方”默认控制器支持当然最优. Github:h ...

  6. android开发之edittext弹出输入框遮挡住文字。解决方法

    在ManiFest清单文件中修改被遮挡的类的EditText android:windowSoftInputMode="adjustPan|stateHidden"

  7. oeasy教您玩转linux010106这儿都有啥 ls

    回忆上次内容 上个实验我们查询了 ls 的手册: man ls

  8. Spine学习三 - 同时播放两个动画

    这个效果和 Unity的动画分层有点儿像,比如 一个人有一个跑的动画,还有一个站在原地挥手的动画,Unity可以通过动画分层,让人物只需要使用这两个动画实现边跑边挥手的动画效果. 首先介绍一下Spin ...

  9. 0vscode基本插件

    Bracket Pair Colorizer auto-close-tag Auto Rename Tag Bracket Pair Colorizer Dracula ESLint  Code Sp ...

  10. 01vue.config.js

      const path = require('path'); module.exports = { // 基本路径 publicPath: process.env.NODE_ENV === 'pro ...