IDE快捷键
IDEA
File and Code Templates
Settings-Editor-File and Code Templates:Files
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>#[[$Title$]]#</title>
</head>
<body>
#[[$END$]]#
</body>
<script>
</script>
</html>
application.yml
server:
## 应用服务 WEB 访问端口
port: 8080
#servlet:
#content-path: /
spring:
application:
## 应用名称
name: BMapDemo
datasource:
## 数据源名称
## name: defaultDataSource
## 数据库驱动:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/exam?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
username: root
password: 123456
mvc:
hiddenmethod:
filter:
## 启用 RestFul 风格
enabled: true
view:
suffix: .html
static-path-pattern: /**
web:
resources:
static-locations: classpath:/templates/,classpath:/static/
## 日志
logging:
level:
root: info
mybatis:
#指定Mybatis的Mapper文件
mapper-locations: classpath:mappers/*xml
#指定Mybatis的实体目录
type-aliases-package: com.example.entity
configuration:
## 配置日志
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
## 开启驼峰命名
map-underscore-to-camel-case: true
controller.java
package ${package.Controller};
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
import $!{package.Service}.$!{table.serviceName};
import ${package.Entity}.${entity};
#if(${superControllerClassPackage})
import ${superControllerClassPackage};
#end
/**
* <p>
* $!{table.comment} 前端控制器
* </p>
*
* @author ${author}
* @since ${date}
*/
#if(${restControllerStyle})
@RestController
#else
@Controller
#end
@RequestMapping("#if(${package.ModuleName})/${package.ModuleName}#end/#if(${controllerMappingHyphenStyle})${controllerMappingHyphen}#else${table.entityPath}#end")
#if(${kotlin})
class ${table.controllerName}#if(${superControllerClass}) : ${superControllerClass}()#end
#else
#if(${superControllerClass})
public class ${table.controllerName} extends ${superControllerClass} {
#else
public class ${table.controllerName} {
#end
@Resource
private ${table.serviceName} ${table.entityPath}Service;
@PostMapping
public Boolean save(@RequestBody ${entity} ${table.entityPath}) {
return ${table.entityPath}Service.saveOrUpdate(${table.entityPath});
}
@DeleteMapping("/{id}")
public Boolean delete(@PathVariable Integer id) {
return ${table.entityPath}Service.removeById(id);
}
@GetMapping
public List<${entity}> findAll() {
return ${table.entityPath}Service.list();
}
@GetMapping("/{id}")
public List<${entity}> findOne(@PathVariable Integer id) {
return ${table.entityPath}Service.list();
}
@GetMapping("/page")
public Page<${entity}> findPage(@RequestParam Integer pageNum,
@RequestParam Integer pageSize) {
return ${table.entityPath}Service.page(new Page<>(pageNum, pageSize));
}
}
#end
generatorConfig.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<generatorConfiguration>
<!--导入属性配置-->
<!--<properties resource="classpath:generator.properties" />-->
<!--指定特定数据库的jdbc驱动jar包的位置-->
<classPathEntry location="D:\MAVEN\maven_resp\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar"/>
<context id="scm_mysql_tables" targetRuntime="MyBatis3">
<!--自动生成toString()方法 -->
<plugin type="org.mybatis.generator.plugins.ToStringPlugin"/>
<!-- 防止生成的代码中有很多注释,加入下面的配置控制 -->
<commentGenerator>
<property name="suppressAllComments" value="true"/>
<property name="suppressDate" value="true"/>
</commentGenerator>
<!--jdbc的数据库连接 -->
<jdbcConnection
driverClass="com.mysql.cj.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/exam?useSSL=false&nullCatalogMeansCurrent=true&serverTimezone=Asia/Shanghai"
userId="root"
password="123456">
</jdbcConnection>
<!--类型处理器,在数据库类型和java类型之间的转换控制-->
<javaTypeResolver>
<property name="forceBigDecimals" value="false"/>
</javaTypeResolver>
<!-- Model模型生成器,用来生成含有主键key的类,记录类 以及查询Example类
targetPackage 指定生成的model生成所在的包名
targetProject 指定在该项目下所在的路径
-->
<javaModelGenerator targetPackage="com.example.entity"
targetProject="src/main/java">
<!-- 是否允许子包,即targetPackage.schemaName.tableName -->
<property name="enableSubPackages" value="false"/>
<!-- 是否对pojo添加构造函数 -->
<property name="constructorBased" value="true"/>
<!-- 建立的pojo对象是否不可改变,即生成的pojo对象不会有setter方法,只有构造方法 -->
<property name="immutable" value="false"/>
<!-- 是否对类CHAR类型的列的数据进行trim操作 -->
<property name="trimStrings" value="true"/>
</javaModelGenerator>
<!-- sql mapper 映射配置文件 -->
<sqlMapGenerator targetPackage="com.example.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="false"/>
</sqlMapGenerator>
<!-- 生成易于使用的针对Model对象和XML配置文件 的代码
type="ANNOTATEDMAPPER",生成Java Model 和基于注解的Mapper对象
type="MIXEDMAPPER",生成基于注解的Java Model 和相应的Mapper对象
type="XMLMAPPER",生成SQLMap XML文件和独立的Mapper接口
-->
<javaClientGenerator type="XMLMAPPER"
targetPackage="com.example.mapper"
targetProject="src/main/java">
<property name="enableSubPackages" value="true"/>
</javaClientGenerator>
<!-- 数据表进行生成操作 schema:库名; tableName:表名;
domainObjectName:对应的PO
-->
<table schema="oa" tableName="bmap_demo" domainObjectName="BMapPoint"
enableCountByExample="false" enableUpdateByExample="false"
enableDeleteByExample="false" enableSelectByExample="false"
selectByExampleQueryId="false">
</table>
<!--<table schema="oa" tableName="aoa_salary" domainObjectName="Salary"-->
<!--enableCountByExample="false" enableUpdateByExample="false"-->
<!--enableDeleteByExample="false" enableSelectByExample="false"-->
<!--selectByExampleQueryId="false">-->
<!--</table>-->
<!--<table schema="jd" tableName="items" domainObjectName="Item"-->
<!--enableCountByExample="true" enableUpdateByExample="true"-->
<!--enableDeleteByExample="true" enableSelectByExample="true"-->
<!--selectByExampleQueryId="true">-->
<!--</table>-->
</context>
</generatorConfiguration>
mapper.java
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mapper.BMapPointMapper">
<resultMap id="BaseResultMap" type="com.example.entity.BMapPoint">
<constructor>
<idArg column="id" javaType="java.lang.Long" jdbcType="BIGINT" />
<arg column="lat" javaType="java.lang.String" jdbcType="VARCHAR" />
<arg column="update_time" javaType="java.util.Date" jdbcType="TIMESTAMP" />
</constructor>
</resultMap>
<sql id="Base_Column_List">
id, point_id, point_name, city_name, lng, lat, update_time
</sql>
<select id="selectAll" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
from bmap_demo
</select>
</mapper>
File Header
Settings-Editor-File and Code Templates-Files:Includes - 新建File Header文件-Extension填java(其他后缀自行更改,这样每次创建这个后缀的文件就会加上这些代码,要在File选项卡里的Class文件里加上#parse("File Header.java")默认就有)
/**
* @projectName ${PROJECT_NAME}
* @date ${DATE} ${TIME}
* @author Enlin
* @description
* @version v1.0
*/
方法注释
Editor-Live Templates-新建methodComment_diy
Abbreviation: /
Description: 添加方法注释
Template test:(下方代码块)
**
*
* @date $DATE$ $TIME$
* @author Enlin
* $paramsHandler$
$params$* @return $return$
* @since v1.0
*/
Applicable in :选择Java的所有
Expand with:Default(Tab) 或者其他,意为输入/之后按Tab键,自动加入以上代码
Edit Variables...
| Name | Expression | Default value | Skip if defined |
|---|---|---|---|
| DATE | date() | NULL | |
| TIME | time() | NULL | |
| paramsHandler | 下方代码块 | NULL | |
| params | NULL | ||
| return | 下方代码块 | NULL |
paramsHandler
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) { if(i!=0)result+= ' * '; result+='@param ' + params[i] + ' ' + ((i < (params.size() - 1)) ? '\\n' + '\\t' : ''); }; return result", methodParameters())
return
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split('<').toList(); for(i = 0; i < params.size(); i++) {if(i!=0){result+='<';}; def p1=params[i].split(',').toList(); for(i2 = 0; i2 < p1.size(); i2++) { def p2=p1[i2].split('\\\\.').toList(); result+=p2[p2.size()-1]; if(i2!=p1.size()-1){result+=','} } ; }; return result", methodReturnType())
参考:IDEA类和方法注释模板设置(非常详细)_idea 类注释模板-CSDN博客
快捷键
关闭平滑滚动,滚动页面更快:
Settings->Appearance&Behavior->Appearance->UI Options(Smooth Scrolling)
文件历史颜色:
- 绿色:新增
- 蓝色:修改
- 灰色:删除
Git文件颜色
- 绿色,已经加入控制暂未提交
- 红色,未加入版本控制
- 蓝色,加入,已提交,有改动
- 白色,加入,已提交,无改动
- 灰色:版本控制已忽略文件。
快速跳转到括号的首或尾:
- 鼠标 指在
{or}位置 Ctrl+}跳到}括号末尾部Ctrl+{跳到{括号的头部
- 鼠标 指在
显示
@Value的实际值:Ctrl+Alt+-/+局部代码块搜索相关内容:
先选中代码块,
Ctrl+R,之后在第一个input上输入要搜索的内容
| Key Groups | Function | Remark |
|---|---|---|
| Ctrl + Shift + A | 搜索IDEA的命令 | 在知道命令的名称的情况下才好用 |
| Ctrl + 文件标题栏鼠标左键 | Show in Explorer | |
| Ctrl + 鼠标右键 | 框选局部代码块(一对括号内) | 需要Rainbow Brackets插件 |
| Alt + 鼠标右键 | 置灰局部代码块外所有代码块 | 需要Rainbow Brackets插件 |
| Ctrl + 鼠标左键 | 跳转到类、方法的定义位置 | |
| Ctrl + Shift + 鼠标左键 | 跳转到方法的实现类 | Ctrl + Shift + B 同样 |
| Ctrl + Alt + F7 | 查看调用了该方法的所有地方 | |
| Ctrl + Alt + T | 给代码块增加if、try等 | |
| Alt + Insert | 生成构造器相关代码 | |
| Ctrl + Alt + [ 或 ] | 多个IDEA窗口之间切换 | |
| Ctrl + E | 最近文件 | |
| Ctrl + F11 | 查看标签(Ctrl + 标签号跳转) | Ctrl + Shift + 数字可直接设置标签 |
| Git提交记录里- 单击一个文件 按F4 | 跳转到源文件 | |
| Edit-General-Appearance | 最多粘性行数 | IDEA 2024.01新特性(方法过长时,在屏幕顶部显示方法名) show sticky lines while scrolliing |
| Alt + ↑/↓ | 跳转到上/下一个方法定义处 | |
| Alt + →/← | 左/右切换已打开文件 | |
| Alt + Shift + 鼠标双击文本 | 多选文本 | 跨行复制的也可以保持跨行格式粘贴 |
| F2 | 跳转到代码中下一个ERROR的地方 | 不知是否有CodeGlance Pro插件才生效 |
| Ctrl + D | 1. 复制当前行到下一行 2. 选择两个文件之后对比内容差异 |
Debug
| Key Groups | Function | Remark |
|---|---|---|
| F8 | 下一行 | |
| Alt + F8 | 实时计算器 | 可以在当前断点处2执行自己的代码块 |
| Alt + F9 | 直接执行到光标所在行 | |
| Drop Frame | 方法回溯,执行回溯到当前方法的调用处,并将所有相关变量的值重置到那一时刻。(仅当前方法有上级方法时可用) |
粘性行:Ctrl + Alt + s -> Editor -> General -> Appearance
背景
- 第一种:
Ctrl+Alt+S打开设置- 选择
Appearance & Behavior->Appearance - 点击
Background Image按钮
- 第二种:
Ctrl+Alt+A,键入:set Background image
滚动条颜色
插件
如果插件商店空白,可以添加代理:
Settings > Plugins > 点击齿轮图标并选择 Manage Plugin Repositories,然后添加以下URL。
| 镜像源 | URL |
|---|---|
| 阿里云 | https://mirrors.aliyun.com/intellij-plugin/ |
| 清华大学开源镜像 | https://mirrors.tuna.tsinghua.edu.cn/jetbrains/plugins/ |
插件列表
| 名称 | 功能 | 备注 |
|---|---|---|
| CodeGlance Pro | 滚动条 MiniMap | |
| Rainbow Brackets | 彩虹括号 | |
| MyBatis Log EasyPlus | sql日志 | https://github.com/Link-Kou/intellij-mybaitslog |
破解
手动
修改文件:
idea64.exe.vmoptions修改文件:
url.conf[URL] PREFIX,https://check-license.squaretest.com PREFIX,https://account.jetbrains.com/lservice/rpc/validateKey.action PREFIX,https://account.jetbrains.com.cn/lservice/rpc/validateKey.action PREFIX,https://account.jetbrains.com/lservice/rpc/validateLicense.action PREFIX,https://account.jetbrains.com.cn/lservice/rpc/validateLicense.action KEYWORD,116.62.33.138如果需要激活码:https://ckey.run
07A1D7CEA3-eyJsaWNlbnNlSWQiOiIwN0ExRDdDRUEzIiwibGljZW5zZWVOYW1lIjoiY2tleS5ydW4iLCJhc3NpZ25lZU5hbWUiOiIiLCJwcm9kdWN0cyI6W3siY29kZSI6IklJIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IlBDV01QIiwiZmFsbGJhY2tEYXRlIjoiMjA5OS0xMi0zMSIsInBhaWRVcFRvIjoiMjA5OS0xMi0zMSJ9LHsiY29kZSI6IlBTSSIsImZhbGxiYWNrRGF0ZSI6IjIwOTktMTItMzEiLCJwYWlkVXBUbyI6IjIwOTktMTItMzEifV0sIm1ldGFkYXRhIjoiMDEyMDIzMDkxNFBTQVgwMDAwMDUifQ==-ZRCD9U+IqG6FoR6OuL21+CY2i6AUlvWZlLxDIjJd95WCLCBn+9sxGW36EASnrqTdANhK+8QcXVosuw/a553ZLLWRoZhi5t759iLVVyERw747FLzIkmTet6kUVlZkhPIUdXF8pkAD6qmgDWiJ7RRVvEGtqtSyeEaG+o9Q71v2DnisTf5idtrpoderhESh7QNUWW8GTtptFTsBnC1dITYk62vkVsqOBGZiOXyZSOjqs9K+74MTLjmnqI545zReTZ7Mpu2eNceYE9tq4+ax6DzuY95PhWS5PKavQY2+9HNy4oWKKVhBuHNhvIeED0IOHsRneEuuqipRXr9AwsBfDmqNY37Eo8UANGtehHQE1xsHLoVkuWWBohmNSqA9puZT8cj6Pjem/tJgBfttetkvgXLsOea/1xZ0epoXyPufgXFxRCbyOi+DNt6Rdf7EEp1d59vC/jGRS8H9RUjxKDTpHrQVvnXciLRIUQYIdGkoXfHySMHaDnJvzqIFWB01zngaNAmBfZdxRYQGBEhjEliVnccQ1Jkqq6SrJS7gtizXjH/NTltD8urzwR7T7tqz1U6OudjSRYTCBNSLIPCbHXkxG971EfkTBHSQRtntYGJedYIjU9ChCCCfWXnc9eabwJGa0suWlbIOMNCb7QUdJXtVs4uqZBhv4Rc1fC2sXgVfv7kTyMI=-MIIEsTCCApmgAwIBAgIGAZcli9cIMA0GCSqGSIb3DQEBCwUAMBgxFjAUBgNVBAMMDUpldFByb2ZpbGUgQ0EwIBcNMjUwNTMwMDg1MzMxWhgPMjEyNTA1MzEwODUzMzFaMBkxFzAVBgNVBAMMDkpldGJyYWlucy1IZWxwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA92kSWA6VyNoOdoT+ayuwjkC2VKD4vaik5jcq3tZntUkgrmehwFWi4kqOt99LpP/XvD8z8GWekszqM4piPcMyJgy6yCmbHpYe+DKKOGReO2Ftl98pDIR+LjfV8Oy1bfIhmmdTKLVB7a49JXmlz0NOArkLyQuMXuIUabxcmcABJSkzznR9YwagM2iJwZx3BSZ89WJfvXyRZ9hNslxU68HOBMfsSj8qYAQzxWefWtJzI95RgdpieEe9qNKBQt+9pxt2CWLcIQwF0IpviONKG77FAHxYsT3mtCvq6ZCJ6i9uHsP0kFHm+JWiNK6ZgotwsFUhSQGPqiK5pcs4VkBVAhw4K4h6DJk6doJhm/r59hajLcwNG02v19S7XmrYjY9Ul/rYrKcrG39BEGkCCJBx0R/bBgXXFSMiMbyyQLEB3sHlhouKNqxYvn1u6EmYQJnt3s+PRRsko0fzeV7/DI9x6vxia6ZqabceC7cjRaR7DPqmrP7vN1vfXB3J21NWEb5N5e1YaJ9bVPp1lNpObafPCI+4kaRGKMIJzbeXTMgu51PniUdMLV9I662EcSwuCfPtj/Dlhd8MCiJDnLtD6hu4g3Qs5gHTc6KLry9f0hOKC0OdAbd8ExHykVEpzkY/GPDApl3Lgfsdfv5C8jZrQWkxHPvdgwaDzCiJ8xUjlWZB6D7FtqsCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAjHiuNA9fgprPBKpg0np7LuBimrdUjOsmRQuSBxW5CPnXyHu06Yj841bKq7MHw2RcpGZUBFqYflNggGat8Id9IFaqSICxNUUUjFSY+qOxmg0aJZTeJFj3gqNniQu79yfgL3nZ907EgqCL9JvgSDH0xFDGHmZTz7qaCcXMHwx8BwXnJedZqwYYYPDMT1+40kSDB6cIHyAYLmcOyiFjx8LUUuRnBMk1pHB8XO9KcObzns1J+/mc2XpSvY9NTdMISszHXnrfz4PdPdgB4v+3X1zKjnmFhudY2Dii3HZx4j2MPdSRZTpTl8hEB4geGkJLusJsz71xHs6s8p+63DP39xDN0CmzCsBnSH5XZlgh4Rni4AEKl5duKCOsWy/gEYtBwz57Ou/+y3+wonBJwAlq8ktReUPwomCghe8kyeBafssIKliSDWSzasORjn/u/p7NKDU1zMavduHqhbOQHiH25kd0f3Ezhrt0kZxy+BITTZNKJRK2dqK4ps1ZsNQQf1AJ28kA+4K6q/KYsAwCuZiq7r34cpwEyQh2XUkIllhNxoUcKU5mA/rMgM+cpKypOBiRBeru5d6hkzKoy2iRTMiR9+N2BNZRw0FhxNwjlu5X/PUrliaP0Jy8kJvo5aOfyMZ9ijkZCL+zQKEbgBCbaRE8pzzwoiYeTLq1s12wJdNIO6nZuiU=
懒人专属命令(全自动)🚀
Windows PowerShell:
irm ckey.run | iex
加 debug 查看完整流程:
irm ckey.run/debug | iex
仅查看源码(不执行):
irm ckey.run
Linux / WSL / Ubuntu:
wget --no-check-certificate ckey.run -O ckey.run && bash ckey.run
Debug 模式:
wget --no-check-certificate ckey.run/debug -O ckey.run && bash ckey.run
macOS(Intel / M 系列):
使用 curl:
curl -L -o ckey.run ckey.run && bash ckey.run
Debug 模式:
curl -L -o ckey.run ckey.run/debug && bash ckey.run
激活原理 🔍
本工具通过自动检测本机 JetBrains 产品,下载并配置 ja-netfilter 激活代理,注入启动参数(包括 -javaagent 和必要的 --add-opens 权限),并调用远程接口生成激活密钥,实现无需手动配置的全自动激活。
不需要用户配置任何 License 文件或手动打补丁!
DateGrid快捷键
- 图标含义
- 右下角金钥匙:Primary Key
- 左下角圆圈:Not Null
- 左侧蓝色:Index
| Key Groups | Function | Remark |
|---|---|---|
| Ctrl + F | 检索表数据窗口内所有的内容 | |
| Database列表内 Ctrl + F(直接打字符) | 搜索表名 | 点击右侧筛选按钮:只显示符合条件的表 |
| 表数据窗口内 Ctrl + F12 | 搜索列名(单击跳转) | 也可右键任意列名:Columns List |
| 表数据窗口内:标题右上角下拉框 | Data Extractors | 可选择复制列的方式 |
Database列表内-左键点击tables F4 | 数据库内所有表的信息 | |
| (接上)任意一行 Alt + Shift + B | Database列表内跳转到该表 |
VS Code快捷键
| Key Groups | Function | Remark |
|---|---|---|
| Alt + Shift + A | 代码块注释 | |
| Alt + Shift + F | Format Code | |
| Ctrl + K + F | 仅格式化选定代码 | |
| Ctrl + K + S | 查看所有快捷键 | |
| Ctrl + Shift + P | 命令行 | |
| 全选之后Ctrl + Shift + P >Join Lines | 压缩代码 | 与上面功能相反 |
| Ctrl + B | 折叠左侧工具栏 | |
| Ctrl + F | 文件内搜索 | |
| Ctrl + H | 文件内搜索并替换 | |
| Ctrl + Shift + F | 全局搜索 | |
| Ctrl + L | 选中整行 | |
| Alt + Shift + ↑/↓ | 复制一行到上\下方 | |
| Alt + Z | 打开/关闭 自动换行 | |
| Ctrl + P | 打开项目中文件 | |
| 目录里选择一个文件Ctrl + Alt + R | 从资源管理器打开 |
批量替换md标题
示例将 ### 三级标题 批量替换为 ## 二级标题:
查找内容:
^(\s*)###\s+(.*)^:匹配行的开始。(\s*):匹配行首可能存在的任意数量的空白字符(如空格或制表符),并将其捕获为组 1。###:匹配字面量###。\s+:匹配###后面的一个或多个空白字符。(.*):匹配标题内容,并将其捕获为组 2。
替换为:
$1## $2$1:引用第一个捕获组(即行首的空白字符)。##:替换为两个#及其后的一个空格。$2:引用第二个捕获组(即原来的标题内容)。
通义灵码
| Key Groups | Function | Remark |
|---|---|---|
| Ctrl + Shift + L | 打开/关闭智能问答窗口 | |
| Ctrl + Shift + I | 唤起行间会话窗口 | |
| Tab | 接受行间代码建议 | |
| Esc | 废弃行间代码建议 | |
| Alt + [ | 查看上一个行间推荐结果 | |
| Alt + ] | 查看下一个行间推荐结果 | |
| Alt + P | 手动触发行间代码建议 | VS Code 好像不能用 |
| Shift + Alt + P | 选择的代码:解释(Explain) | |
| Shift + Alt + U | 选择的代码:单元测试(UnitTest) | |
| Shift + Alt + M | 选择的代码:优化(Optimize) | |
| Shift + Alt + V | 选择的代码:添加注释(Comment) |
Navicat 快捷键
| Key Groups | Function | Remark |
|---|---|---|
| Ctrl + D | 编辑表结构 | |
| Ctrl + Q | 快速查询窗口 | |
| 查看-显示-显示或隐层列 | 当表中字段过多时可以快速定位到某列(可以Ctrl+F查询) | |
| Ctrl + F | 查询表名或列名 | |
| Shift+Enter / F2 | 修改某列值 | |
| 右键行最左侧 | 可以复制为Insert语句 | |
IDEA 控制台乱码
打开
\apache-tomcat-8.5.93\conf\logging.properties,并修改为## catalina日志配置 ## 1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8 1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK ## localhost日志配置 ## 2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8 2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK ## server日志配置 ## java.util.logging.ConsoleHandler.encoding = UTF-8 java.util.logging.ConsoleHandler.encoding = GBK
保存自动格式化
idea 取消自动格式化 - 了悟 - 博客园 (cnblogs.com)
File - Settings - Editor - General - On Save 里面的几个对钩都点掉
Settings` → `Tools` → `Actions on Save` → 取消 `Reformat code
Edge 快捷键
ctrl + shift + L:使用当前标签页搜索剪贴板中的内容
