一些好用的idea开发技巧记录

1.在使用springboot 开发中,经常需要获取到配置文件的值,常用的方法是使用@Value(“${}”) 注解 ,也可以使用另外一种方式 直接在services 中注入Environment 类, 注意当输入的参数在配置文件中未找到对应的数据,会返回-1


 @Autowired
    private Environment environment;

    @Test
    public void test() {
         // 未设置值时,值自动默认设置-1
        System.out.println(environment.getProperty("server.port"));
        // 也可以预先加上预期值,如果Key不存在就会就返回预期值21345
        System.out.println(environment.getProperty("1233123121","21345"));
        // 21345
        System.out.println(environment.getProperty("spring.datasource.druid.initial-size"));
        // 10
    }
  1. 在检查代码格式的时候,总会遇到一些 自定义的字符串或者整数 ,使用idea 的快捷键
   public static final String SERVER_PORT = "server.port";
    @Autowired
    private Environment environment;

    @Test
    public void test() {
        // 未设置值时,值自动默认设置-1
        // 提取魔法值 选中字符串或者数字 同时按 快捷键  ctrl + alt + c / option + command + c 自定义为 静态final 变量
        System.out.println(environment.getProperty(SERVER_PORT));
        // 提取魔法值定义为 变量 ctrl + alt + v / option + command + v
        String value = "spring.datasource.druid.initial-size";
        System.out.println(environment.getProperty(value));
    }
  1. 切换分支的时候,如果本地修改的类不用提交,但是 其他分支的当前类又被修改的时候是无法切换的,那么需要把本地的分支内容进行缓存
    在这里插入图片描述

在这里插入图片描述
这样就可以把本地的分支进行暂时隐藏,然后就可以切换到其他分支了.操作完其他分支需要切换回来的时候
在这里插入图片描述
在这里插入图片描述
选择刚才隐藏的内容,点击apply stash 恢复隐藏. 就恢复了上一步隐藏的未提交的内容了,然后再把建立的这个隐藏删除
在这里插入图片描述
在这里插入图片描述

  1. 不小心commit 了本地的代码,不需要push,想要取消commit 使用命令
git reset --soft HEAD^

如果add的也需要撤回,使用命令

git reset --hard HEAD^

注意 hard级别的撤回会 导致新add的类也会被删除,慎用.
此命令可同时用于回退到指定版本,具体用法是 将HEAD^ 换成想要退回的版本号

  1. 切换idea 最近查看的文件 ctrl+e / command +e
    在这里插入图片描述

  2. 回退到上一步点击的地方 ctrl + alt + ← / option +command + ←

  3. 自定义快捷组合键盘
    在这里插入图片描述

  4. 直接在接口上写实现类
    在这里插入图片描述
    按住alt+enter / option + 回车
    选择 第三个选项
    在这里插入图片描述
    点击OK就新建了一个实现了接口的类

使用 流处理文件的时候,经常是定义一个InputStream和OutputStream 在最外面,然后在catch或者finally 里面进行关闭,如果项目中用了lombok 注解的话,可以用以下方式来进行简化代码

public static void main(String[] args) throws IOException {
        String inFilePath = "";
        String outFilePath = "";
        @Cleanup FileInputStream fileInputStream = new FileInputStream(inFilePath);
        @Cleanup BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(outFilePath));
        if (StrUtil.isNotEmpty(inFilePath)) {
            byte[] bytes = new byte[1024 * 10];
            int read = 0;
            while ((read = fileInputStream.read(bytes)) != -1) {
                bufferedOutputStream.write(bytes, 0, read);
            }
        }
    }

在定义流的前面添加一个 @Cleanup 注解 就可以默认关闭流,编译后的代码如下

public static void main(String[] args) throws IOException {
        String inFilePath = "";
        String outFilePath = "";
        FileInputStream fileInputStream = new FileInputStream(inFilePath);

        try {
            BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(outFilePath));

            try {
                if (StrUtil.isNotEmpty(inFilePath)) {
                    byte[] bytes = new byte[10240];
                    boolean var6 = false;

                    int read;
                    while((read = fileInputStream.read(bytes)) != -1) {
                        bufferedOutputStream.write(bytes, 0, read);
                    }
                }
            } finally {
                if (Collections.singletonList(bufferedOutputStream).get(0) != null) {
                    bufferedOutputStream.close();
                }

            }
        } finally {
            if (Collections.singletonList(fileInputStream).get(0) != null) {
                fileInputStream.close();
            }

        }

    }

idea 中的快捷键
ctrl+w 快速连按,选中当前字符串,当前字段,当前整个方法。
ctrl+p 代码参数提示
ctrl+q 查看方法有那些重载
ctrl+F12 在类中搜索方法
shift+F6 修改变量,类的名字,甚至可以将变量定义到方法的参数上(抽取参数为方法的变量)
shift+alt+↑/↓ 移动当前行代码的位置,shift+ctrl+↑/↓在方法上移动可以移动整个方法。
ctrl + 收起整个方法 ctrl - 放开整个方法
Alt + j 选中当前元素及 下一个引用的元素。此时修改的话,就是批量修改
在这里插入图片描述
光标同时选中多个元素,并进行修改,修改完成后,按esc 退出 批量修改。

ctrl+alt+shift+T 选中一个元素后,进行操作
在这里插入图片描述
ctrl+B 可以查看此方法在哪来被调用了。

Ctrl+E 查看最近打开的类 。 ctrl+shift + e
在这里插入图片描述
查看最近打开的类

想要引用一个类的 protected 方法 只需要自定义一个类,然后将他的方法改为public就可以了

class ExtendsBalancer extends Balancer {
    public static Instance getHostByRandomWeight2(List<Instance> hosts){
        return getHostByRandomWeight(hosts);
    }
}

快速将内部类切换成外部类的方法

将内部类的static 关键字删除 然后按F6 ,此时idea就会跳出弹窗,选择需要保存的文件夹按确定,此时就会进行保存了.

内部类改为普通类对象
直接将内部类的类名选中 然后拖动到左边需要存放的包位置.就成为了普通类对象

idea 复制选中行而不是复制选择的内容
在keyMap 中删除 duplicate Lines or Selection的快捷键 设置 duplicate Entire Lines 快捷键为 ctrl+D .

在这里插入图片描述
设置代码变化时,目录颜色跟着变化.
在这里插入图片描述
显示行号和分隔线.
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值