【STM32】CubeIDE/CubeMX自动生成代码的tab从2空格改成4空格

基于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/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(其他几种修改后都会保存失败):

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

⑥ 用⑤导出的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个空格啦

在这里插入图片描述

版权声明:本文为CSDN博主「梁山广」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lsg19920625/article/details/122869730

基于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/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(其他几种修改后都会保存失败):

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

⑥ 用⑤导出的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个空格啦

在这里插入图片描述

版权声明:本文为CSDN博主「梁山广」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/lsg19920625/article/details/122869730

生成海报
点赞 0

梁山广

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

基于STM32的LoRa无线通信(AS32—TTL-1W)

目录 无线串口简介 项目简介 发送端代码 接收端代码 项目总结 前些天接触到一个小项目,需要使用无线传输的功能,不仅如此还需要远距离的通信,搜索资料后最终选择了泽耀科技的LoRa&#xff08

STM32CubeMx hal 驱动sg90舵机

一、舵机的控制原理 舵机通过接收PWM信号,使其进入内部电路产生一个偏置电压,触发电机通过减速齿轮带动电位器移动,使电压差为零时,电机停转,从而达到伺服的效果。即给舵机一个

X-bot

X-bot 前言 这个项目是我在稚辉君的视频里面看见的,是一个完全开源的项目,而且对他来说是一个比较简单的项目,但对于我这种没有什么DIY经验的同学来说,还是有点难的,不过