Skip to content

Commit f642a35

Browse files
authored
Merge pull request #76 from github0null/dev
merge source code v2.15.0
2 parents aa3860b + 6f4ce87 commit f642a35

33 files changed

Lines changed: 2976 additions & 912 deletions

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,6 @@ bin_bk
2929

3030
# shell script
3131
*.sh
32+
33+
# test
34+
test

.vscodeignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ bin/builder/*.xml
3838
bin/builder/*.exe.config
3939
bin/tools
4040
docs
41+
test
4142

4243
# shell script
4344
*.sh

CHANGELOG.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,40 @@
44

55
***
66

7+
### [v2.15.0] (**requirements: VsCode ^1.60.0**)
8+
- 新增:向**项目属性**视图增加一个**修改**按钮,允许以直接修改 yaml 配置文件的形式修改其配置,[文档](https://docs.em-ide.com/#/zh-cn/project_deps)
9+
- 新增:向**项目资源**视图增加一个配置按钮,允许**为单个的文件或组增加任意编译选项**,支持使用 glob 模式匹配源文件和组,[文档](https://docs.em-ide.com/#/zh-cn/project_manager?id=为源文件附加单独的编译选项)
10+
- 新增:为 **虚拟文件夹**/**源文件** 增加修改路径选项,允许修改文件的路径(方便直接修改整个虚拟文件夹树以及其链接到的源文件)
11+
- 新增:将烧录选项 `程序文件` 的文件选择器取消,改为输入框;允许一次烧录多个程序文件,**程序文件** 字段格式 '`<filePath>[,addr][;<filePath>...]`'
12+
- 新增:增加全片擦除功能,`ctrl+shift+p` 打开命令面板,输入 `Erase Chip`,即可执行(某些烧录器可能不支持,则该命令将退化为普通的烧录命令)
13+
- 新增:在 **项目资源** 树中增加 `Output Files` 目录,用于查看生成的编译产物; 同时增加 axf, elf 信息查看功能,点击 axf/elf 文件即可打开
14+
- 新增:增加文件右键菜单项:打开所在目录
15+
- 新增:支持 armcc 反汇编查看,通过编辑器右键菜单 `查看反汇编` 即可打开
16+
- 新增:鼠标悬停显示文件,文件夹数量(仅虚拟文件夹)
17+
- 新增:支持通过编写外部 js 脚本来导入其他IDE项目文件中的文件树,宏,头文件等信息(方便导入 `SEGGER Embedded Studio``IAR For ARM` 等其他任意 IDE 的项目),[文档](https://docs.em-ide.com/#/zh-cn/project_manager?id=从其他-ide-项目导入源文件资源)
18+
- 新增:在输出目录生成 .map.view 文件,打开即可显示 map 文件的资源统计视图(仅支持ARMCC/GCC工程),[文档](https://docs.em-ide.com/#/zh-cn/utility_functions?id=查看程序资源视图)
19+
- 新增:支持在线下载安装 Keil 芯片支持包,默认远程仓库地址:https://github.com/github0null/eide-cmsis-pack
20+
- 修复:CMSIS Config Wizard 在解析不符合要求的字符串类型时,出现误判
21+
- 修复:删除 CMSIS 包之后,相应的 MCU 预定义宏被删除
22+
- **更改:调整某些配置的显示名称**,如 **项目依赖** 更改为 **项目属性**
23+
- 更改:使用 Linux VT100 颜色代码添加更完备的编译输出日志高亮(**win10 以下的系统可能不支持**;可通过向插件配置 `Builder.AdditionalCommandLine` 添加 `-no-color` 关闭色彩输出)
24+
- **更改:支持为 Armcc v5/v6 工具链单独设置编译器路径,同时保留旧的 MDK TOOLS.INI 设置方法**
25+
- 更改:生成 *.obj 时,根据相对路径将 obj 生成至相应的文件夹树中(若有无法计算相对路径的文件,统一生成至 `obj` 目录)
26+
- 优化:当烧录选项 `程序文件` 为空时,使用默认的程序文件路径(ui 上显示为 `${projectName}.hex`
27+
- 优化:允许带空格的虚拟文件夹命名
28+
- 优化:项目资源文件夹树排序显示
29+
- 优化:读取完 JLink Device 列表后,删除临时文件
30+
- 优化:调整构建工具的 Log 显示
31+
- 优化 CMSIS Wizard UI:使被禁用的子项表单控件无法被选中
32+
- 优化 CMSIS Wizard UI:调整布局,优化 vscode 主题颜色适配
33+
- 优化 完善 CMSIS Wizard 的语法支持程度
34+
***
35+
736
### [v2.14.0]
837
- 优化:增加一些编译器预定义宏
938
- 优化:优化 Builder Config UI,修复选项卡阴影区域显示不正常的问题
1039
- 新增:支持显示源文件的头文件引用,默认开启,可在插件设置中关闭
11-
- 新增:增加 [CMSIS Configuration Wizard](https://arm-software.github.io/CMSIS_5/Pack/html/configWizard.html) 功能。 打开带有 CMSIS Config 格式的头文件,右键菜单选择 `CMSIS Configuration Wizard` 即可打开配置UI
12-
![preview](./img/cmsis_wizard_preview.png)
40+
- 新增:增加 [CMSIS Configuration Wizard](https://arm-software.github.io/CMSIS_5/Pack/html/configWizard.html) 功能。 打开带有 CMSIS Config 格式的头文件,右键菜单选择 `CMSIS Configuration Wizard` 即可打开配置UI,[文档](https://docs.em-ide.com/#/zh-cn/cmsis_wizard)
1341
***
1442

1543
### [v2.13.0]

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
## 功能特性 🎉
2323

24-
* 支持 8051,STM8,Cortex-M,RISC-V 项目
24+
* 支持开发 8051,STM8,Cortex-M,RISC-V 项目
2525
* 支持导入 KEIL 项目 (仅支持 KEIL 5 及以上版本)
2626
* 支持安装标准的 KEIL 芯片支持包 (仅用于 Cortex-M 项目)
2727
* 提供丰富的项目模板方便快速开始项目
@@ -30,6 +30,8 @@
3030
* 内置的串口监视器,一键打开串口
3131
* 支持使用 Cppcheck 对项目进行静态检查
3232
* 自动生成默认调试配置,为调试器插件 Cortex-debug / STM8-debug 生成默认配置
33+
* 支持编写 js 脚本来导入任意的 IDE 项目源文件资源
34+
* 内置多种实用工具,`CMSIS Config Wizard UI`, `反汇编查看``程序资源视图` ...
3335

3436
***
3537

lang/arm.v5.verify.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@
163163
},
164164
"optimize-for-time": {
165165
"markdownDescription": "Optimize for time",
166-
"description.zh-cn": "代码时间优化",
166+
"description.zh-cn": "Optimize for time",
167167
"type": "boolean",
168168
"enum": [
169169
true,
@@ -233,7 +233,7 @@
233233
},
234234
"strict-ANSI-C": {
235235
"markdownDescription": "strict ANSI C",
236-
"description.zh-cn": "使用标准(严格)的 ANSI C",
236+
"description.zh-cn": "strict ANSI C",
237237
"type": "boolean",
238238
"enum": [
239239
true,
@@ -430,4 +430,4 @@
430430
}
431431
}
432432
}
433-
}
433+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"comments": {
3+
"lineComment": ";"
4+
},
5+
"indentationRules": {
6+
"increaseIndentPattern": "^[a-zA-Z_]\\w*\\s*:\\s*",
7+
"decreaseIndentPattern": "^[a-zA-Z_]\\w*\\s*:\\s*"
8+
}
9+
}

lang/axf.info.tmLanguage.json

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
{
2+
"information_for_contributors": [
3+
"armcc axf information"
4+
],
5+
"version": "1.0.0",
6+
"name": "axf.info",
7+
"scopeName": "source.axf.info",
8+
"patterns": [
9+
{
10+
"include": "#elf_header"
11+
},
12+
{
13+
"include": "#keyword"
14+
},
15+
{
16+
"include": "#number"
17+
},
18+
{
19+
"include": "#string"
20+
}
21+
],
22+
"repository": {
23+
"elf_header": {
24+
"match": "^\\s*([\\w\\/][\\w\\/\\s]+):",
25+
"captures": {
26+
"1": {
27+
"name": "entity.name.type"
28+
}
29+
}
30+
},
31+
"keyword": {
32+
"match": "\\(([A-Z_]+)\\)|(SHF_[\\w]+|PF_[\\w]+)",
33+
"captures": {
34+
"1": {
35+
"name": "keyword.control.import"
36+
},
37+
"2": {
38+
"name": "keyword.control.import"
39+
}
40+
}
41+
},
42+
"number": {
43+
"match": "\\b([0-9a-f]+H|0x[0-9a-f]+|[0-9a-f]+)\\b",
44+
"captures": {
45+
"1": {
46+
"name": "constant.numeric"
47+
}
48+
}
49+
},
50+
"string": {
51+
"match": "(\"[^\"]*\"|'[^']*')",
52+
"captures": {
53+
"1": {
54+
"name": "string"
55+
}
56+
}
57+
}
58+
}
59+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
{
2+
"comments": {
3+
"lineComment": ";"
4+
},
5+
"indentationRules": {
6+
"increaseIndentPattern": "^[a-zA-Z_]\\w*\\s*:\\s*",
7+
"decreaseIndentPattern": "^[a-zA-Z_]\\w*\\s*:\\s*"
8+
}
9+
}

lang/elf.info.tmLanguage.json

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
{
2+
"information_for_contributors": [
3+
"gnu elf information"
4+
],
5+
"version": "1.0.0",
6+
"name": "elf.info",
7+
"scopeName": "source.elf.info",
8+
"patterns": [
9+
{
10+
"include": "#elf_header"
11+
},
12+
{
13+
"include": "#number"
14+
},
15+
{
16+
"include": "#string"
17+
}
18+
],
19+
"repository": {
20+
"elf_header": {
21+
"match": "^\\s*([\\w\\/][\\w\\/\\s]+):\\s+(.*)",
22+
"captures": {
23+
"1": {
24+
"name": "entity.name.type"
25+
},
26+
"2": {
27+
"name": "string"
28+
}
29+
}
30+
},
31+
"number": {
32+
"match": "\\b([0-9a-f]+H|0x[0-9a-f]+|[0-9a-f]+)\\b",
33+
"captures": {
34+
"1": {
35+
"name": "constant.numeric"
36+
}
37+
}
38+
},
39+
"string": {
40+
"match": "(\"[^\"]*\"|'[^']*')",
41+
"captures": {
42+
"1": {
43+
"name": "string"
44+
}
45+
}
46+
}
47+
}
48+
}

lang/stm8.iar.verify.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@
504504
"linker-config": {
505505
"readable_name": "Linker config file path",
506506
"readable_name.zh-cn": "链接脚本路径",
507-
"description": "linker config file path.\n Example: \"lnkstm8xxx.icf\"\n or \"./lnkstm8xxx.icf\" (relative by workspace folder)\n or \"${ToolDir}/stm8/config/lnkstm8xxx.icf\"",
507+
"description": "linker config file path.\n Example: \"lnkstm8xxx.icf\"\n or \"./lnkstm8xxx.icf\" (relative by workspace folder)\n or \"${ToolchainRoot}/stm8/config/lnkstm8xxx.icf\"",
508508
"type": "string",
509509
"default": "lnkstm8s103f3.icf"
510510
},

0 commit comments

Comments
 (0)