这才是属于我的节日嘛,呜呜,┭┮﹏┭┮,节日快乐(快乐不起来啊)
idea设置
快捷键打开设置面板:ctrl+alt+s
1.提示忽略大小写设置
2.开启自动导包功能
3.系统主题设置
4.设置显示行号和方法间的分隔符
5.类注释模板设置
所有的类都必须添加创建者和创建日期
/**
* @Description:
* @Author: 小羽毛
* @Date: ${DATE} ${TIME}
*/
设置好后,在新建一个类的时候就可以自动生成了。效果如下:
6.jdk版本设置
7.字符编码设置
点击Editor中的File Encodings,把三处的编码都改为 utf-8 即可,点击apply即可
Global Encoding: UTF-8 设置全局编码为UTF-8 Project Encoding: UTF-8 设置项目编码为UTF-8,在下面把要项目添加进来. Default encoding for properties files: UTF-8 设置属性文件的默认编码为UTF-8
更改默认的编码设置
8.隐藏开发工具的配置目录
隐藏开发工具的配置目录,例如.idea .iml
在file ->setting->Editor->File Type -> ignore file and folders 结尾添加
idea积攒的快捷键
ctrl+p 查看方法的参数
ctrl+r 替换
Ctrl + F 在当前文件进行文本查找 (必备)
alt+7 查看当前类结构
ctrl+h 查看当前类的继承关系
ctrl+f12 显示当前文件结构
ctrl+alt+L 格式化代码
Ctrl+B 快速打开光标处的类或方法
光标放在某个对象上光标放在类上或方法上
Ctrl + D 复制光标所在行
Ctrl + D 复制选择内容,并把复制内容插入光标位置下面 (必备)
Ctrl + Y 删除光标所在行 或 删除选中的行 (必备)
Ctrl + O 选择可重写的方法
Ctrl + O 重写方法
Ctrl + I 实现方法
ctrl+alt+t 进行异常的处理
ctrl+alt+m 抽取方法
抽取选中代码为一个方法
ctrl + e 打开最近的文件
ctrl + Alt + 左右方向键 : 跳转到历史光标所在处
idea插件
codegeex
idea插件:
Jump To Line
这个插件可以帮助我们在调试的时候,向前或向后跳到想要执行的语句处。这里就包括了Reset Frame无法回退的位置,
你可以通过拖动这个黄色小尖头,直接将程序执行到某一行代码的位置,实现拖到哪儿执行到哪儿的效果,具体效果如下
Sequence Diagram
把接口的调用关系,整个时序图展示出来,对深入了解项目帮助很大。刚好有这么一款插件SequenceDiagram能够根据方法的调用关系,自动生成执行时序图。
下载个IDEA 插件 Sequence Diagram 通过任意个类和方法查看代码的流程。
插件使用
选中一个方法,右键以后会出现SequenceDiagram,选中即会出现。
点击左边,可设置调用深度。勾选下面的Skip可以忽略一些方法,避免时序图显示过多。选中Display only project classes 将显示非本工程的调用,比如jar包中的类。
-------------------------
选择Go to Source则跳转到对应的类。Remove Class XXX则会把对应类文件从时序图中删除(并不会删除实际代码),去除一些非必要的时序调用的显示,能够让复杂的时序图更加简洁。
maven Helper
一款
快速解决依赖冲突的IDEA插件
其中三个选项分别表示如下:
- Conflicts(查看冲突)
- All Dependencies as List(列表形式查看所有依赖)
- All Dependencies as Tree(树形式查看所有依赖)
IDEA Maven Helper插件(详细使用教程)_maven helper插件怎么使用-CSDN博客
JarEditor
推荐一款IDEA插件工具,可以直接编辑Jar文件,使用非常方便。
使用插件,编辑Jar文件
切换 Jar Editor 编辑可直接修改Class,修改完之后点击 Save 保存并编译修改内容,然后点击 Build Jar 即可将编译保存的 class 文件写入到 Jar 包内。
NSIS工具
安装NSIS
NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序,提供了安装、卸载、系统设置、文件解压缩等功能。
在官网下载NSIS安装包。
https://nsis.sourceforge.io/Download
下载后如下:
双击安装后的目录
安装后自动弹出窗口如下
制作必看
NSIS脚本文件的拓展名是.nsi,我们创建一个 installer.nsi,文件名可以随意取。
参考:NSIS教程(1): 基础语法_nsis使用教程-CSDN博客
;
和#
一起在NSIS的脚本中作为注释符,后跟注释
添加安装区段
Section "Section1" SEC01 SectionEnd
区段由Section和SectionEnd组成,Section行中参数依次为:区段名、区段的唯一标识码。代码中
Section1
为区段名,SEC01
为区段的唯一标识码,用于其他地方操作区段的标识使用
指定安装包的输出位置
OutFile "MyApp_Setup.exe" //OutFile "D:\installer\MyApp.exe" ;指导路径的情况下,输出到指定路径下 Section "Section1" SEC01 SectionEnd
属性命令
OutFile
,它是必须有的命令。指定生成的安装包的路径和名称,可以设置相对路径与绝对路径。当只有名称时,生成文件与.nsi文件同目录。
安装程序属性
安装程序属性主要控制安装程序的:程序信息、图标、默认安装目录、外观、安装界面文本、页面、包含的文件。
!define PRODUCT_NAME "My app"
!define PRODUCT_VERSION "1.0"
Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" ;
!define
是定义常量值的命令,它是一个编译时命令。常量定义好后不能改变值,定义后的常量使用 ${常量名}
进行使用。
Name
设置安装程序的名称。
NSIS定义好的常量
https://www.nsisfans.com/help/Section4.2.html#4.2.3
现代UI界面(MUI)
现代UI简称为MUI,是NSIS安装包最流行的UI库
NSIS自带MUI,所以直接引用进来:
!include "MUI.nsh"
再设置MUI的界面,使用 insertmacro
关键字导入不同界面的宏定义。
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
卸载程序属性
有安装程序,那么与之对应的就是卸载程序。卸载程序对应着我们的程序的卸载过程,对于常规软件来说,必提供卸载程序给用户方便卸载。
至少编写一个卸载区段,作为卸载程序的执行内容。这里使用唯一特殊的卸载区段Uninstall
Section -Uninstall
SectionEnd
注册安装程序
Section -myapp
// ...
; Register the installed software
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "DisplayName" "$(^Name)"
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "InstallDir" "$INSTDIR"
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "UninstallString" "$INSTDIR\uninstall.exe"
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "DisplayIcon" "$INSTDIR\resources\uninstallerIcon.ico"
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
WriteRegStr HKLM "${PRODUCT_UNINSTALL_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd
这里使用指令WriteRegStr
添加注册表字符串值,它是一个注册表指令。基础语法如下:
WriteRegStr rootkey subkey key_name value
- HKCR 或 HKEY_CLASSES_ROOT,前者为缩写,下同。
- HKLM 或 HKEY_LOCAL_MACHINE
- HKCU 或 HKEY_CURRENT_USER
- HKU 或 HKEY_USERS
- HKCC 或 HKEY_CURRENT_CONFIG
- HKDD 或 HKEY_DYN_DATA
- HKPD 或 HKEY_PERFORMANCE_DATA
- SHCTX 或 SHELL_CONTEXT
subkey
为具体注册表项相对于rootkey的全路径,下图中的路径框中的 SOFTWARE\BiliBili 就是subkey。
注册表项下创建指定的 DisplayName
、InstallDir
、UninstallString
、DisplayIcon
、DisplayVersion
、URLInfoAbout
、Publisher
这些值告诉Windows我们安装的程序信息。然后,我们就可以在安装的程序列表内看到已安装的程序信息。
更多注册表操作可以参考:
https://www.nsisfans.com/help/Section4.9.html#4.9.2
与其他安装过程同理,安装写入了注册表,那么就需要在卸载的时候清理干净。
DeleteRegKey HKLM "${PRODUCT_UNINSTALL_KEY}"
安装HW VNIS Edit
HW VNISEDIT是他的这门语言的一个开发工具,能通过向导自动生成一些代码,下面我们做一个简单的应用程序打包步骤
nsi脚本用var关键字来定义变量,使用$来引用变量。
$DESKTOP Windows 桌面目录,添加快捷方式
`CreateShortCut "$DESKTOP\启动${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}\startup.bat" "" "$INSTDIR\${PRODUCT_NAME}\ico\rcc.ico" 0`
$SYSDIR Windows 系统目录(通常为 C:\windows\system 但在运行时会检测)
$STARTMENU 开始菜单目录(常用于添加一个开始菜单项,使用 CreateShortCut)
$SMPROGRAMS
开始菜单程序目录(当你想定位 $STARTMENU\程序 时可以使用它)
`CreateShortCut "$SMPROGRAMS\${PRODUCT_PUBLISHER}\${PRODUCT_NAME}\启动${PRODUCT_NAME}.lnk" "$INSTDIR\${PRODUCT_NAME}\startup.bat" "" "$INSTDIR\${PRODUCT_NAME}\ico\rcc.ico"`
ExecWait:执行一个指定的程序并且等待运行处理结束,再继续安装。如:ExecWait '"$INSTDIR\command.exe" 参数' $INSTDIR\command.exe"参数′ INSTDIR\command.exe" 参数'
INSTDIR\command.exe"参数′
0($0当产生错误时设置为错误标记,未产生错误则为未指定)
license.ico这是做什么的呀
CreateShortCut
作用:创建快捷文件.lnk 目标文件
Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法
使用 MessageBoxes 或 DetailPrint 来显示变量内容。要简要观察所有变量,你应该使用插件 DumpState 。
!insertmacro
宏名称 [参数] [...]
; 许可协议页面
!insertmacro MUI_PAGE_LICENSE "pclic_rcc.txt"
插入一个由 !macro 创建的宏的内容。如果创建的宏带有参数,那么你必须按宏的需求向它传送足够的参数。
SetOutPath
设置输出路径且当路径不存在时创建(需要时会递归创建)。必须为全路径名,通常都使用 $INSTDIR 。
File
释放文件到当前输出路径 ($OUTDIR)。
如果使用了 /r 开关,匹配的文件和目录会在子目录里被递归的搜索。(例如 File /r something\*.*)。
使用 /x 开关可以用来排除文件或目录。
如果使用了 /a 开关,则被添加的文件的属性将会保持。
SetOutPath $INSTDIR
File program.exe
DeleteRegKey
DeleteRegKey HKLM "Software\My Company\My Software"
Goto
如果指定了标记,则跳转到 '要跳转的标记:' 。
goto NOTHING
如果指定了 "+偏移" 或 "-偏移" ,跳转会根据偏移指令相对的跳转。 Goto +1 跳转到下一条指令,Goto -1 跳转到上一条指令,等等。
goto +3
StrCmp
字符串1 字符串2 相同时跳转的标记 [不相同时跳转的标记]
比较(不区分大小写) "字符串1" 和 "字符串2" 。如果两者相等,跳转到 "相同时跳转的标记" ,否则跳转到 "不相同时跳转的标记"。
StrCmp $0 "a string" 0 +3
DetailPrint '$$0 == "a string"'
Goto +2
DetailPrint '$$0 != "a string"'
Push
把一个字串压入堆栈。该字串可随后从堆栈里弹出。
Pop
从堆栈里弹出一个字串到用户变量 $x。如果堆栈是空的,则会置一个错误标记。
Pop $0
常见问题
一、maven模块忽略问题
解决方式1:
ctrl+alt+s 打开settings设置模板,如下图取消勾选即可
解决方式2:
二、idea中彻底删除一个工程
编辑在项目目录下的.idea文件夹中的compiler.xml
打开后内容如下:
idea控制台中文乱码
首先是编译器语言 file -> settings ->Appearance(外观) -> theme(主题设置) -> use custom font
(最好不设置采用默认语言,或选择如下图能支持中文的语言,避免出现中文乱码)
三、idea 导入esclipse项目
选择 Import project from external model,下面点击 Eclipse,然后点击 Next。
上面的路径选择的需要导入项目的地址,下面选择 Keep project and module files in,其路径选择的是项目的地址。这里可以选择重新创建一个模块创建,即选择 Create module files near .classpath files(本人选择保持原有模块)。接着点击 Next 下一步。
选择 Use default project code style,然后点击 Next。
apipost
Apipost-API 文档、设计、调试、自动化测试一体化协作平台
以cURL格式复制
- 打开 ApiPost (opens new window)工具中
- 之后,点击左侧的导入接口,这个里面可以直接把 cURL 格式接口导入进去。
- 最后,点击立即导入 - 导入后你就可以点击发送按钮测试验证了。
生成代码
- 首先,点击生成代码,会弹出一个各类语言对接代码案例。
- 之后,在你需要的类型代码上复制生成的代码。
- 最后,把代码粘贴到Java工程中测试。