有时候我们写一些代码的时候,格式化后,会使代码格式变得不美观、不易读,这里在看一些源码的时候发现有这么一种操作,随手记下。

  • @formatter:off 关闭格式化
  • @formatter:on 开启格式化

@formatter:off@formatter:on 标记的区域在格式化代码时会被忽略(不限制标记次数),但标记必须以 @formatter:on 收尾,否则会导致该文件 @formatter:off 以后的所有代码不参与格式化,简单来说就是格式化失效。

以下是一些使用示范:

// @formatter:off
@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .formLogin()
            .loginProcessingUrl("/api/login")
        .and()
            .logout()
            .logoutUrl("/api/logout")
            .logoutSuccessHandler(customLogoutHandler)
        .and()
          ...
        .and()
            .csrf().disable()
            .cors().configurationSource(urlBasedCorsConfigurationSource())
        .and()
            .anonymous().disable()
            .sessionManagement().maximumSessions(1)
        ;
}
// @formatter:on
<!-- @formatter:off -->
<style>
    [v-cloak]{display:none;}
</style>
<!-- @formatter:on -->
<!-- @formatter:off -->
<resultMap id="SysConfigResult" type="SysConfig">
    <id     property="configId"    column="config_id"/>
    <result property="configName"  column="config_name"/>
    <result property="configKey"   column="config_key"/>
    <result property="configValue" column="config_value"/>
    <result property="configType"  column="config_type"/>
    <result property="dictType"    column="dict_type"/>
    <result property="inputType"   column="input_type"/>
    <result property="createBy"    column="create_by"/>
    <result property="createTime"  column="create_time"/>
    <result property="updateBy"    column="update_by"/>
    <result property="updateTime"  column="update_time"/>
</resultMap>
<!-- @formatter:off -->

开启方式:

Settings | Editor | Code Style | Formatter | True formatter on/ off with markers in code comments

image-20211101143623645