IDEA 工具使用心得

1.设置编译快捷键

默认情况下,修改完文件的时候是不会自动编译的,以前使用 Registry...里面的设置运行时编译是可以的,今天试了就是行不通,所以我想只要编译方便就可以了,设置快捷键来触发编译是使用起来比较方便的,默认的Rebuild 快捷键是Command + Shfit + F9,默认的Build的快捷键是Command+F9,我发现新版本的 IDEA 是可以设置鼠标快捷键的,试了好几个按键,发现使用Command+鼠标右键是比较方便的,这个按键组合默认也没有被其他功能绑定,Alt键距离老拇指有点近,Command键刚刚好。

2.Spring Boot 项目开发时的设置优化,减少重启次数

SpringBoot 在开发 web 项目时,因为模板和静态文件的路径默认是在resources下面的,但是这下面的文件属于 classpath范围,每次修改后需要触发将文件被 classloader 重新加载,所以会比较慢,我的经验是在开发配置中使用file:协议配置静态资源和模板的路径,在正式环境中使用默认的配置。

spring:
    resources:
            static-locations:
                - file:${project.basedir}/src/main/resources/static/
                - file:${project.basedir}/src/main/resources/static/resources/
    thymeleaf:
            cache: false
            check-template: true
            check-template-location: true
            content-type: text/html
            enabled: true
            encoding: UTF-8
            mode: html
            prefix: file:${project.basedir}/src/main/resources/templates/
            suffix: .html
            template-resolver-order: 0
            view-names: '*'

pom.xml中,我也配置了资源的变量替换:

<resources>
    <resource>
        <directory>src/main/java</directory>
        <filtering>true</filtering>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
            <include>**/*.tpl</include>
            <include>**/*.yml</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
        <includes>
            <include>**/*.xml</include>
            <include>**/*.properties</include>
            <include>**/*.tpl</include>
            <include>**/*.yml</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
        <includes>
            <include>**/fonts/*.*</include>
            <include>templates/**</include>
            <include>static/**</include>
        </includes>
    </resource>
</resources>

这样在启动的状态下,直接修改静态资源和模板文件的时候只刷新浏览器就可以看到最新的页面,如果是修改了 java 文件,需要看到最新效果,开发启动的时候用 debug 模式,这样会使用 idea 自己的 agent 来运行,所以也就不需要使用 springloader等或者是 jrebel 之类的其他 agent,在编译后如果类发生了变化会自动的使用新的代码,大多数情况下都不需要重启项目。

3.复制一个由多个短字符串拼接成的完整的字符串

Copy 一个拼起来的字符串为一个整体:

Leave a Comment

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据