admin 好吧,原来一开始就是错误的,我说呢 最开始配置的时候怎么与MDK中配置的不一样
admin 你现在的这个Configuration Wizard配置支持到什么程度,是否和MDK中的配置完全一样,我就参考MDK的配置走了,或者你给出一个你这边支持的配置到什么级别 否则容易乱
haha 好像从已一开始就没有实现所有的语法,,你慢慢测试着来吧
haha
你可以参考这个文件的写法,最初版本的实现也是使用这个文件测试验证的。这个文件包含的写法适用于绝大部分场景
由于这个解析器缺乏错误处理,因此如果你使用了不规范的语法,则不会有任何警告提示,这就是BUG的来源, 这也是后续要改进的部分
另外,你也可以安装这个扩展 Arm.cmsis-csolution,它带有官方的 config wizard 支持
Arm.cmsis-csolution
右键鼠标使用 Open Preview 来打开页面
Open Preview
admin 好的 ,,我先不使用我现在的这种方式,本来想的是用这种方法能再页面中显示一些提示性文本,不是<i>标签那种需要点上去才能看到。当时测试使用这个<o>不影响后面,所以就一直沿用下来了。。。算是个投机取巧吧,,这个改不改的问题不大。。
CofMilk 是麻烦些
admin 好
admin 我试用了一下 这个工具真不咋地
admin 可以参照ARM的eclipse插件,这个应该是带完整语法解析的 https://github.com/ARM-software/cmsis-pack-eclipse/tree/master/com.arm.cmsis.config/src/com/arm/cmsis 其实这个向导还支持汇编文件解析,主要是51上用
可以使用<o4>跳过中间的几个宏定义
可以参照我翻译的CMSIS configuration wizard文档:https://deadline039.github.io/Embedded/cmsis_config_wizard
Deadline039 咱这eide全部支持吗
CofMilk 这里我为了解析下面这种先写配置项后写宏定义的情况,用了一个队列来临时存储没有宏定义匹配的配置项。也就是说后面如果有宏定义会匹配到最后一个没有定义的配置项。这跟旧版的匹配方法不一样,旧版是如果有新的配置像,上一个就算没有与之对应的宏定义,也会匹配当前的配置项
Deadline039 哦 我明白了,,因为我上面使用了很多没有匹配宏定义的<o>标签,,所以导致我之后的宏定义被匹配到了上面。又因为上面的那些标签没有实质性的数据,导致我下面的标签显示都不对了。。。问题不大,不这样用了
CofMilk 如果想要显示一些提示性文本,可以这样做:
Deadline039 感谢回复,,之前的做法确实是不太妥,,您提供的这个方法效果还不错,,我再改改。。
我看到有一个<n>标签 功能就是显示文本,,后期如果能实现这个标签也不错。。不过现在的这个已经够用了
Deadline039
这个还要重写成TS,再重构现在的实现,太麻烦了。
如果有现成的 TS 实现,后面可以考虑重构。
admin 最好是标准的,支持吧,这个配置很重要 标准的大家都能参与 请你喝咖啡
haha 后面我写个独立的插件吧,把语法检查加上
Deadline039 写啥插件 和 @admin 合作把这个功能完善一下就行 搞那么多插件干啥
@haha @CofMilk
我检查了一下,实际上这个 cmsis wizard 有两个版本:
Version 1.6.1 Version 1.7.44
插件原计划是 v1.7.44,但现在只做到 1.6.1, 这个是 keil.com 上的,应该也是 keil mdk 参考的版本。
v3.20.0 及以前的版本,不支持 Version 1.6.1 中的下列语法:
v3.20.2 中将实现上述缺失的部分,跟 keil 保持一致。同时放弃 v1.7.44 这个版本。
对于该问题:
“即使没有对应#define xxx xxx得代码也不会影响下面得标签”
这个快照中应该已经修复
https://snapshot.em-ide.com/3.20.1/eide-3.20.1-202412160141-git_3a51467.vsix