STM32CubeLDE1.12.1实现代码自动补全
1.问题描述
- 在STM32CubeLDE代码补全,需要依赖于ALT加/来进行代码补全。
- 在实际代码开发中多有不便。
- 在下面方法中方法1给大家偷懒。
- 其他版本最好按照方法2慢慢操作生成自己版本的插件,前提是不能是汉化版本。
2.解决办法
- 因此出现了一种方法,修改底层源码的办法。
- 在这儿我已经将底层源码修改好,并且将插生成了新的插件,大家只需要将插件放到自己STM32CubeLDE安装目录下的Plugins里面进行替换源文件即可。
3.操作方法1
3.1第一步下载插件
3.2插件放到自己的安装目录下的Plugins
3.3最后在插件到目录后提示跟换插件,替换就完成操作
3.4测试效果,在汉化版本也是可以成功的。
链接:https://pan.baidu.com/s/14QTJyXGU3knmPi9os3XS-w?pwd=1234
提取码:1234
4.操作方法3
- 此操作将自己生成插件,自己修改源码,过程极其繁琐。
- 注意,操作必须在英文的软件下面,不能用汉化版本,汉化版本存在问题。
4.1下载插件
- 打开菜单栏上的 Help->Install New Software…
- 打开第1个插件安装的网址安装插件,搜索CDT,回车即可得到,在勾选下面的 CDT Main Features,点击Next下载安装插件即可。
- 打开第二个插件安装的网址安装插件,步骤也是一路 next,等待安装完成,然后根据提示重启软件
CDT - https:
Eclipse Repository - https:
- 点开这个目录,选择 Eclipse Plug-in Development Environment
4.2 打开代码自动补全插件,导入工程
- 注意:如果你是汉化版这儿将找不到文件。
- 我是在两台电脑下操作的一台汉化,一台英文。
- 此时在英文软件界面演示操作。
4.3打开插件目录
- 再点击ok。
4.4把插件以源文件工程导入
4.5修改插件代码,实现代码自动补全
4.5.1找到源文件下的 CContentAssistProcessor.java 和 ContentAssistProcessor.java
4.5.2修改 CContentAssistProcessor.java 文件
跳转到 setCompletionProposalAutoActivationCharacters 函数,把函数体注释掉,添加新的内容上去
default:
return activationChar >= 97 && activationChar <= 122?true:activationChar >= 65 && activationChar <= 90;
4.5.3修改 ContentAssistProcessor.java 文件
可以直接用以下函数替换掉原函数
public void setCompletionProposalAutoActivationCharacters(char[] activationSet) {
String index = ".ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
char[] triggers = index.toCharArray();
fCompletionAutoActivationCharacters = triggers;
}
4.6导出插件,替换原来的源码
4.7按照操作方法1替换插件即可成功
5.补充
- 参考文章:
给你的cubeIDE加上翅膀–添加类似keil的代码补全功能!
[【插件】STM32cubeIDE(eclipse)自动补全无需快捷键,cdt插件修改](https://blog.csdn.net/na2wo4/article/details/105631236?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase 2.https://www.cnblogs.com/luyl/p/12057762.html) - 在此也感谢以上作者。