基于CubeIDE/CubeMX + HAL库开发STM32已经成为大势所趋,但是这套工具自动生成的的代码tab默认都是2空格,各种改配置文件都不管用,只能逆向改一下了,花费一周终于搞定了,采用的CudeIDE最新版本1.8.0

涉及的所有工具已经打包放在百度云上了~
链接:https://pan.baidu.com/s/1Mlj2PAi8PZQDNp9GAY-p6g
提取码:4gmy

具体步骤如下(嫌麻烦可以直接用我百度云分享里的STM32CubeMX_1_8_0_patch.jar替换自己的CubeIDE安装目录下的STM32CubeMX.jar)

最新的CudeIDE页修改好了,都在上面的分享链接里,名字为:STM32CubeMX_1_9_0_patch.jar

但是授之以鱼不如授之以渔,学会下面的方法,后面CudeIDE/CubeMX再更新版本大家也可以自己修改了

① 用JDK11启动反编译工具recaf

务必用我的,官方的不带JavaFX,运行不了,将bellsoft-jdk11.0.14.1+1-windows-amd64-full.zip解压到自己的目录,我的是D:\code\jar_tools\j,进入bin目录执行如下命令

recaf-2.21.12-J8-jar-with-dependencies.jar也拷贝到bin目录下,方便些

D:\code\jar_tools\jdk-11.0.14.1-full\bin>.\java.exe -jar -Xms1024m -Xmx1536m recaf-2.21.12-J8-jar-with-dependencies.jar

② 以Tbale反编译模式加载STM32CubeMX.jar

File->load加载我们要修改的CubeIDE用于生成STM32工程的jar包,STM32CubeMX.jar,
默认路径是:C:\ST\STM32CubeIDE_1.8.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.4.0.202111222105\STM32CubeMX.jar

③ 修改class mode(其他几种修改后都会保存失败):

类CodeEngine的package路径为:com/st/microxplorer/codegenerator/CodeEngine
在这里插入图片描述

④ 找到CubeIDE生成空格的关键代码(cleanCode函数的#t替换部分,很容易找到),2个空格改成4个空格

在这里插入图片描述

在这里插入图片描述

⑤ 然后File->Export Program导出修改后的jar包

控制台显示Modified Class : 1表示修改成功
在这里插入图片描述

⑥ 用⑤导出的jar包替换CubeIDE安装目录下的STM32CubeMX.jar

默认所在路径是C:\ST\STM32CubeIDE_1.8.0\STM32CubeIDE\plugins\com.st.stm32cube.common.mx_6.4.0.202111222105\STM32CubeMX.jar

⑦ 重新用CubdeIDE生成代码,发现tab已经编变成4个空格啦

在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐