所有值得注意的版本变化将被记录在这个文件中。
All notable version changes will be recorded in this file.
New:
Export GNU Makefile
: Support export GNU Makefile for help users customize the automatic build process.
Change:
unify_builder
: Update unify_builder to v3.8.0
Fix:
OpenOCD
: Can't get interface/target list for xpack openocd v12.
New:
Plug-in Settings
: New plug-in settings:Win32.Msys.Enable
, to determine whether to enable the built-in MSYS tools.Project Variables
: ExportEIDE_xxx
variables into project variables.
Change:
Other
: Append msys path to the tail of system PATH, not head.
Fix:
Chip Package
: Storage layout default value missed.Unify Builder
: Fix ac6 linker options missed on macos. Thanks @Deadline039.
Optimize:
Unify Builder
: Use 'dotnet unify_builder.dll' instead of 'unify_builder.exe' on arm64 platform.C/C++ Config Provider
: Use g++ when provide compilerPath for cpptools.Other
: Append msys path to the tail of system PATH, not head.
Change:
Builder Options
: Combine all builder options (*.options.json
) intoeide.json
.Files Options
: Combine all file's options (*.files.options.yml
) into single file:files.options.yml
.
Optimize:
Project TreeView
: Expand Project TreeView's root node when you open a project.Keil Project Import
: Do not disable internal hex file output if keil project not have any actived User Commands.Source Code
: Update dependence packages to resolve package vulnerabilities.Chip Package Manager
: Optimize code.
Update build environment to NodeJS v16
.
Fix:
unify_builder
: Fix makefile dependence parser bugs. Update unify_builder tov3.7.4
Fix:
Project Resources
: When user unfold an unsorted vritual sources folder, the 'eide.json' will be changed by mistake.
Incompatible Changes:
Chip Support Package
:- Remove folder:
.eide/deps
and use VirtualFolder<virtual_root>/<deps>
instead it. - The Chip Support Package in older projects will become invalid. And you need to reinstall chip-package and reinstall all CMSIS components.
- Remove folder:
New:
Cortex-Debug Configuration Generator
: A new Debugger Configuration Generator with a simple GUI.pyOCD Flasher UI
: Support append additional cli command when program flash.VSCODE_PORTABLE
: SupportVSCODE_PORTABLE
environment variables.
Fix:
Project Environment
: Project environment variables missed.
Change:
Builder Configuration UI (SDCC)
: Automatic get processors list by execute command:sdcc -v
Optimize
MDK Project Import
: Optimize importKeil User Command
.
New:
Cortex-Debug Configuration Generator
: A new Debugger Configuration Generator with a simple GUI.pyOCD Flasher UI
: Support append additional cli command when program flash.VSCODE_PORTABLE
: SupportVSCODE_PORTABLE
environment variables.
Fix:
Project Environment
: Project environment variables missed.
Change:
Builder Configuration UI (SDCC)
: Automatic get processors list by execute command:sdcc -v
Optimize
MDK Project Import
: Optimize importKeil User Command
.
Fix:
Permission Error
: Fix Permission Denied when execute unify_builder on Unix-like system.
Optimize
Armcc Memory Print
: Optimize ARMCC map memory information print.
New:
unify_builder
: Print 'Section Memory Usage' for AC5 / AC6 Compiler.Global Environment Variables
: A new plug-in settings: 'EIDE.Builder.EnvironmentVariables' for preset some globalEnvironment Variables
.
Change:
unify_builder
: Bundle unify_builder executable files in plug-in package.
Merge v3.16.2-prerelease
bugs fix.
Fix:
Open Project
: fix cannot open project if a error target in usr.ctx.json.Project Floatpoint Selection
: fix function hasFpu() not match 'm33.dsp'.Diagnostic Bugs
: fix diagnostic information generator bugs.Others
: fix other miscellaneous bugs.
Optimize:
.NET Runtime
: compatible with version > 6.0 of the .NET runtime.Static Check
: optimize cppcheck params generator.
Change:
Cortex-Debug Config
: Auto generate debug config now has been Removed. Use the right-click menu function instead.
Fix:
Keil Project Export
: Source file type error for '*.asm'.
Optimize:
GUI Prompt String
: Change some prompt string.JLink Flasher Template
: Allow use '${hexFile}, ${binFile}...' variables injlink.flasher.cmd.template
file.STLink Flasher
: Use codepage437
when exec STM32_Program_CLI.exe in win32 system.
Optimize:
GCC Compiler Driver
: Auto select gcc/g++ for c/c++ source files; Support new linker optionLinker Driver
.MDK Project Import
: Support import keil project's User Commands (BeforeMake and AfterMake commands).RightClick Menu
: Optimize menu item order.
New:
RightClick Menu
: Add groups for menu
Optimize:
COSMIC STM8
: Auto select crts*.stm8 library
New:
Clangd Support
: Auto generate.clangd
config for your project. (Only for gcc/clang compiler !)Library Generator Support
: Add libs generator, support archive your obj files after build done.
Optimize:
OpenOCD Flasher
: Allow select 'None' config.
New:
Status Bar
: Add status bar 'Build' and 'Flash'
Change:
Proxy Site
: Discard domain: github0null.iounify_builder
: Move obj files to '.obj' dir when build
Optimize:
Model files
: Remove model file's UTF8-BOM headerProject auto reload
: Optimize auto save/reload project when you modified 'eide.json'
Fix:
Incorrect GCC Options
: Move gcc '--specs=xxx' options to 'global' region. issue
Optimize:
Source Exclude List
: Allow use Env Variables in exclude path string.Eclipse Project Importer
: Optimize eclipse project parser, allow resolve virtual folder and folder link.Armcc Options
: Remove duplicate option 'optimize-for-time' for AC5
Optimize:
Source Exclude List
: Allow use Env Variables in exclude path string.Eclipse Project Importer
: Optimize eclipse project parser, allow resolve virtual folder and folder link.
New:
MIPS Project
: Support new project typeMIPS
and new toolchainMTI GCC
, thanks @eatradish.Status Bar
: Add status bar for project target switch.STM8 MapView
: Support MapView for COSMIC-STM8 Compiler.
Fix:
Switch Target
: Not copy source options file if it's not existed when switch target.Cpptools Intellisense
: Notify cpptools update source config after active project changed.
Change:
IAR Arm Toolchain
: Remove auto-gen '-I' include options for iar arm assembler.
Optimize:
COSMIC_STM8
: Auto generate.d
files for COSMIC_STM8.KeilC51 Importer
: Setup 'CClasses, UserClasses' when import a keilc51 project.System Variables
: Add some system variables, like:${SYS_Platform}, ${SYS_DirSep} ...
Auto Save
: Compare content before save project.Source Folder
: Need to confirm before remove src folder.IAR Toolchain
: Add more cpu list for selection.
New:
MIPS Project
: Support new project typeMIPS
and new toolchainMTI GCC
, thanks @eatradish.Status Bar
: Add status bar for project target switch.
Fix:
Switch Target
: Not copy source options file if it's not existed when switch target.Cpptools Intellisense
: Notify cpptools update source config after active project changed.
Change:
IAR Arm Toolchain
: Remove auto-gen '-I' include options for iar arm assembler.
Optimize:
COSMIC_STM8
: Auto generate.d
files for COSMIC_STM8.KeilC51 Importer
: Setup 'CClasses, UserClasses' when import a keilc51 project.System Variables
: Add some system variables, like:${SYS_Platform}, ${SYS_DirSep} ...
Auto Save
: Compare content before save project.Source Folder
: Need to confirm before remove src folder.IAR Toolchain
: Add more cpu list for selection.
New:
COSMIC STM8
: Support new toolchain:COSMIC STM8
for stm8 series.
Fix:
Export Template
: Zip project template 7za failed on linux.
Optimize:
unify_builder
: Show commandline when build failed on source file.Disassembly View
: Optimize disasm launguage syntax with visual jump
Fix:
Extra Compiler Options
: Cannot evaluate inherited parameters.unify_builder
: Cannot handle more than oneargs expressions
for file options.unify_builder
: Remove global extra options forsdxxasm
.
Optimize:
unify_builder
: More color render for compiler output messages.unify_builder
: Add 'ASM_FLAGS' for sdcc sdxxasm.Debug Config
: Auto generate toolchain prefix for cortex-debug.
Please update eide_binaries
to v11.0.1+ (Restart plug-in to auto fetch update).
New:
Disassembly View
: Add 'Visualize Jumps' for disassembly code, more informationsLanguage Mode
: Add a settingEIDE.DisplayLanguage
to choose a language for UI, prompts.
Fix:
Memory Layout View
: Error format when user input an integer number.
Optimize:
Utility Tools
: Usestart
command to install win32 driver.Promblem Matcher
: Match compiler errors in linker logs.
New:
-
Object Order For Linker
: Allow specify an order for any obj files before the builder start to link your program. -
Extra Compiler Args
: Use Webview UI to replace config file. More Convenience ! -
Toolchain Configurations
: Add webview UI to configuretoolchain path
ortoolchain prefix
for current project.
Change:
Remove Built-in Serial-Monitor
: We removed built-in serial monitor for eide. Please use ms-vscode.vscode-serial-monitor now !Extra Compiler Args For Source Files
: ForvirtualPathFiles
, pattern must start with:<virtual_root>/
Fix:
Terminal Environment Variables
: Environment variable values are incorrectly linked together !
New:
Project Explorer
: Lock opened project.Environment Variables View
: Allow show all available variables.
Fix:
Symbol View
: Not found elf path when use IAR ARM toolchain.
Optimize:
Environment Variables
: Allow use 'K, M, G' in 'MCU_RAM_SIZE', 'MCU_ROM_SIZE' variables.CMSIS Config Wizard
: Use workspace encoding for cmsis config wizard.Github Proxy
: Optimize proxy, enable proxy for 'GMT+8:00' timezone by default.
New:
Project Resource
: AddSymbol Table
virtual file inOutput Files
, click it to showelf symbols
(support 'armcc', 'gcc', 'iar').Builder Options
: AddX/O Base
,R/O Base
,R/W Base
options for armcc, and allow import them from keil project.
Optimize:
launch.json Generator
: Don't force override 'svdPath' in launch.json config.Project Resource
: Show promt when remove a filesystem source dir.
Fix:
Project Resource
: Can't auto add source files when folder changed.
New:
Change:
Minimum Version Requirement Of VSCode
: Changev1.63.0
tov1.67.0
Fix:
cpptools configuration provider not work
: Fix provider file filter bug.
Optimize:
Resource Explorer
: Keepnon-existed
filesystem source folders. Optimize folder watcherSettings Scope
: Allow user override more eide settings byworkspace settings
.FileWatcher
: Auto close file watcher if watcher has an error.Prompt messages
: Optimize some UI hint messages.
Fix:
Symbol Link
: Not work for symbol link source folder.
Optimize:
High Cpu Load
: Optimize code, reducefind in system path
operations
Fix:
Task type: 'eide.msys'
: Theenv
property does not work.
Change:
Task type: 'eide.msys'
: Uselabel
property for task title, notname
New:
New task type: 'eide.msys'
: You can write user task intasks.json
file, and executeunix shell
command inwindows
platform.Github Template
: Allow Create Project From Github Repository.
Optimize:
High Cpu Load
: Don't check and search toolchain path when plug-in startup, cache search result.Riscv Builder Options UI
: Add auto-complete forarch
,abi
,code-model
options.Cmsis Core Libraries
: Filter unused*.lib
when unzip cmsis core libraries.Openocd v0.12.0-rc2
: Update Openocd tov0.12.0-rc2
, repo:https://github.com/github0null/eide_builtin_openocd
New:
Shell Flasher
: Allow install shell flasher scripts from remote repo.Configure Toolchain
: Add a button to setup tool prefix for gcc family compiler.
Fix:
Eclipse Importer
: Can not parse 'link.location' in '.project' file.
Optimize:
Configure Toolchain
: Don't check all toolchain status when plug-in launch.Resource Manager
: Don't remove non-existed source dirs in eide.json.
New:
- macOS support (Only have tested in 'macOS 10.15 x64').
- Notify user to reload project when project file has been changed.
- Use markdown string for tooltips.
Fix:
- Error program file addr priority for
.bin
file. - Error welcome string for project view.
Optimize:
- MDK Importer: auto import keil project options.
- Builder Options UI: auto scroll variables table.
- Built-in task format warning in vscode
OUTPUT
panel. - Enable install utility tools functions for non-win32 platform.
- New linker options:
Disable memory print for old gcc
. - Allow close workspace project.
- Optimize project attr yaml config hint.
- Add path completion provider for project yaml config (use char '' trigger completion).
- Project auto save period: 3 min.
New:
- macOS support (Only have tested in 'macOS 10.15 x64')
Optimize:
- Built-in task format warning in vscode
OUTPUT
panel. - Enable install utility tools functions for non-win32 platform.
New:
- Notify user to reload project when project file has been changed.
Fix:
- Error program file addr priority for
.bin
file
Optimize:
- New linker options:
Disable memory print for old gcc
- Allow close workspace project
- Optimize project attr yaml config hint
- Add path completion provider for project yaml config
- Project auto save period: 3 min
New:
- Use markdown string for tooltips.
Optimize:
- Error welcome string for project view.
Fix:
- Env was overrided when import a 'multi-project' iar workspace
- Sdcc problem matcher doesn't work
- Error path convert: '${VAR}/../path/dir' -> 'path/dir' when use
NodeJs.normalize()
, useFile.normalize
replaceNodeJs.normalize()
- Source file is not compiled when their reference were updated (unify_builder)
Change:
- Remove Makefile template file generate
Optimize:
- Export built-in env variables to unify_builder
- Export more env variables to builder process environment
- Resolve recursive vars when parse iar eww file
- When import a iar project, create new folder if iar project not have independent folder
- Reload jlink device list after install a cmsis device package
- Add '${OutDirRoot}' var
- Auto convert '' to '/' when use
bash
command in builder task for win32 - Update built-in msys version to
v1.0.18
New:
- Support IAR ARM C/C++ Compiler
- Support import IAR ARM workbench
- Support install chip info for JLink when installed cmsis device package (you need to install
jlink-devices-addon
before getting start) - New compiler problem matcher
- Allow nested env variables (max deep: 5)
- Generate
compiler.log
file to build folder - Provide diagnostic informations into
Problems
panel fromcompiler.log
file after project build finished - Allow execute post install command when install external tools.
- Allow empty
linkerScript
file path forarmcc/gcc
. (empty path will cause builder ignore pass linkerScript args to linker) - Allow use env variables in
includePath
,libPath
Fix:
- Can not post progress message when install external tools
- Some compiler config errors in
sdcc
model
Change:
- Remove terminal problem matcher, use
vscode.Diagnostic
api to provide project problem after build end - Provide more terminal link matcher for eide builder task
Optimize:
- Add
${configName}
in file path env map - Search keywords in external tools details
- Del old folder when reinstall external tools
- Optimize prompt message for
Configure Toolchain
function. - Optimize cmsis header wizard parser. (allow string prefix/suffix for number value)
New:
- Generate
compiler.log
file to build folder - Provide diagnostic informations into
Problems
panel fromcompiler.log
file after project build finished
Change:
- Remove terminal problem matcher, use
vscode.Diagnostic
api to provide project problem after build end - Provide more terminal link matcher for eide builder task
New:
- New IAR compiler problem message matcher
- Support auto install chip info to JLink by
jlink-device-addon
tool when install cmsis device package
Optimize:
- Allow use
${configName}
in file path environment variables - Do not delete unused files when cmsis device package has been installed
- Output compiler log after build done
New
- Allow execute post install command when install external tools.
Optimize
- Optimize prompt message for
Configure Toolchain
function. - Allow empty
linkerScript
file path forarmcc/gcc
. (empty path will cause builder ignore pass linkerScript args to linker) - Allow use env variables in
includePath
,libPath
. - Optimize cmsis header wizard parser. (allow string prefix/suffix for number value)
New:
- Add
Exclude/Include Child Sources
context menu for source folder - Brand new documentation, product landing page, here: https://em-ide.com
Change:
- Adjust
eide.json
structure - Generate a
.eide.usr.ctx.json
file to save user context data (can be ignored in.gitignore
)
Optimize:
- Format project name when import project from other IDE
- Optimize source code structure
Change:
- 调整 armgcc 构建配置中的
linkerScriptPath
值修改方式,由 文件选择器 更改为 字符串输入框 - 调整某些文件的显示图标
- 更新内置模板
New:
- 支持通过 external_tools_index 安装更多的外部工具,并在插件激活后自动将这些工具的路径附加到VSCode当前的环境变量中
Change:
- 将 log 输出至
<user-home>/.eide/cl.eide.log
,不再将.eide/log
目录作为 log 存放位置
New:
- 新增 Eclipse 项目导入功能
- 新增
Setup Utility Tools
功能 (位于 Operation 栏),可用于自动安装 eide 默认提供的相关工具 - 为 Arm 项目提供更多的 cpu 选项
- 支持为 'Custom Flasher' 设置全片擦除命令
- 新增终端类型:
Eide Terminal
, 插件已将 内置工具,编译器等二进制程序路径 导出至该终端的环境变量 - 增加两个设置项,用于决定是否自动搜索和添加
IncludePath
及.obj .a
至项目(默认值为 false)EIDE.SourceTree.AutoSearchIncludePath EIDE.SourceTree.AutoSearchObjFile
- 增加以下新的
builder task
变量:${ConfigName}: 项目 Configuration 名称,例如:'Debug', 'Release' ${CompilerId}: 编译器 id, 例如:'gcc', 'sdcc', 'ac5' ${CompilerName} 编译器短名称,例如:'GNU Tools for Arm Embedded Processors 8-2019-q3-update' ${CompilerFullName} 编译器完整名,例如:'arm-none-eabi-gcc.exe (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 ...' ${CompilerVersion} 编译器版本号,例如:'8.3.1' ${re:ProjectRoot} 项目根目录相对路径,该值固定为:'.' ${re:BuilderFolder} 构建工具目录相对路径 ${re:OutDir} 输出目录相对路径,如:'build/Debug' ${re:ToolchainRoot} 编译器根目录相对路径 ${re:CompilerFolder} 编译器可执行文件目录相对路径
- 支持在安装 jlink 等烧录软件时,自动安装驱动
- 新增内置命令行工具
verchk
, 用于比较版本字符串,可在builder task 中使用
- 增加 SDCC 模块拆分优化(将源文件尽可能按一个函数一个文件进行拆分,使 SDCC 能够优化程序大小),可在
构建配置->全局
中打开,默认关闭 - 增加
compile_commands.json
输出 - 重构
Memory Layout
视图,更好地融入 VsCode 风格 - 为新项目自动添加
.clang-format
文件 - 增加 Save Project 右键菜单项
Fix:
- 修复 STVP 无法擦除芯片的问题
- 错误的路径转换 '.' -> './',导致编译器无法识别包含路径
- 通过修改 exc-cfg.yaml 文件无法排除根目录(需要重启才能正常),以及排除文件夹后,文件图标状态未刷新的问题
- 修复从 cmsis package 解析芯片默认 Memory Layout 时出现错误
- 修复 STVP 命令行中的多余参数导致的烧录失败
Change:
- 调整 TreeView 中的一些图标
- 生成 Cortex-Debug 调试配置时,只生成必要字段
- 调整烧录器配置默认值
- 移除内置的
Output Panel
Grammar 文件,推荐使用扩展:IBM.output-colorizer
- 在芯片支持包中切换芯片后,不再覆盖
memory layout
配置 - 支持直接设置 Keil
UV4.exe
路径来定位编译器路径 - 自动搜索源文件夹时,跳过以 '.' 开头的文件夹
- 项目自动保存时间间隔改为 100 s
- 自动搜索源文件时,排除以
.
开头的文件夹 - 移除添加源文件夹时,不能添加根目录之外的文件夹的限制
- 更改输出目录时,不删除旧的
- 支持为 Any-gcc 选择 linker 类型,可选项:
gcc, ld
,用于支持较老版本的 gcc - 新建空项目时,不再自动生成默认
main.c
文件 - 项目中所有的配置文件名都加上
target name
前缀(在旧的版本中,仅release
target 无前缀) - 新建构建配置时,armclang 默认汇编器改为 arm-auto
- armcc 问题匹配器正则表达式调整:
Line 1511 in 4f91c5b
Optimize:
- 根据 stvp 烧录配置的芯片名,从 stvp database 中获取
ram, flash
大小,用于在编译时显示ram/flash
占比 - 增加如下可在文件路径中使用的变量:
${workspaceFolder} ${workspaceFolderBasename} ${OutDirBase}
- 加载项目时,去除
Project Attribute
中的空值项 - 支持在插件设置的 路径设置项 中使用相对路径(相对路径基于当前工作区)
- 优化 builder options Web view 页面相关控件宽度
- 未找到 .NET 运行时进行下载前,先检查上一次下载的安装包是否有效
- 优化项目保存逻辑
New:
- 为 armclang 新增 'armv8m' cpu 类型
Fix:
- 修复 STVP 无法擦除芯片的问题
Optimize:
- 根据 stvp 烧录配置的芯片名,从 stvp database 中获取
ram, flash
大小,用于在编译时显示ram/flash
占比 - 增加如下可在文件路径中使用的变量:
${workspaceFolder} ${workspaceFolderBasename} ${OutDirBase}
New:
- 支持为 'Custom Flasher' 设置全片擦除命令
Change:
- 调整 TreeView 中的一些图标
- 生成 Cortex-Debug 调试配置时,只生成必要字段
- 调整烧录器配置默认值
- 移除内置的
Output Panel
Grammar 文件,推荐使用扩展:IBM.output-colorizer
- 在芯片支持包中切换芯片后,不再覆盖
memory layout
配置 - 支持直接设置 Keil
UV4.exe
路径来定位编译器路径 - 自动搜索源文件夹时,跳过以 '.' 开头的文件夹
- 项目自动保存时间间隔改为 100 s
Optimize
- 加载项目时,去除
Project Attribute
中的空值项
New:
- 新增 Eclipse 项目导入功能
- 新增
Setup Utility Tools
功能 (位于 Operation 栏),可用于自动安装 eide 默认提供的相关工具
New:
- 新增终端类型:
Eide Terminal
, 插件已将 内置工具,编译器等二进制程序路径 导出至该终端的环境变量 - 增加两个设置项,用于决定是否自动搜索和添加
include path
及.obj .a
至项目(对于新建项目,默认值为 false):EIDE.SourceTree.AutoSearchIncludePath EIDE.SourceTree.AutoSearchObjFile
- 增加以下新的
builder task
变量:${ConfigName}: 项目 Configuration 名称,例如:'Debug', 'Release' ${CompilerId}: 编译器 id, 例如:'gcc', 'sdcc', 'ac5' ${CompilerName} 编译器短名称,例如:'GNU Tools for Arm Embedded Processors 8-2019-q3-update' ${CompilerFullName} 编译器完整名,例如:'arm-none-eabi-gcc.exe (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.1 20190703 ...' ${CompilerVersion} 编译器版本号,例如:'8.3.1' ${re:ProjectRoot} 项目根目录相对路径,该值固定为:'.' ${re:BuilderFolder} 构建工具目录相对路径 ${re:OutDir} 输出目录相对路径,如:'build/Debug' ${re:ToolchainRoot} 编译器根目录相对路径 ${re:CompilerFolder} 编译器可执行文件目录相对路径
- 支持在安装 jlink 等烧录软件时,自动安装驱动
- 新增内置命令行工具
verchk
, 用于比较版本字符串,可在builder task 中使用
Fix
- 错误的路径转换 '.' -> './',导致编译器无法识别包含路径
- 通过修改 exc-cfg.yaml 文件无法排除根目录(需要重启才能正常),以及排除文件夹后,文件图标状态未刷新的问题
Change:
- 自动搜索源文件时,排除以
.
开头的文件夹 - 移除添加源文件夹时,不能添加根目录之外的文件夹的限制
- 更改输出目录时,不删除旧的
- 支持为 Any-gcc 选择 linker 类型,可选项:
gcc, ld
,用于支持较老版本的 gcc - 新建空项目时,不再自动生成默认
main.c
文件 - 项目中所有的配置文件名都加上
target name
前缀(在旧的版本中,仅release
target 无前缀)
Optimize:
- 支持在插件设置的 路径设置项 中使用相对路径(相对路径基于当前工作区)
- 优化 builder options Web view 页面相关控件宽度
New:
- 增加 SDCC 模块拆分优化(将源文件尽可能按一个函数一个文件进行拆分,使 SDCC 能够优化程序大小),可在
构建配置->全局
中打开,默认关闭 - 增加
compile_commands.json
输出
New:
- 重构
Memory Layout
视图,更好地融入 VsCode 风格 - 为新项目自动添加
.clang-format
文件
Fix:
- 修复从 cmsis package 解析芯片默认 Memory Layout 时出现错误
- 修复 STVP 命令行中的多余参数导致的烧录失败
Change:
- 新建构建配置时,armclang 默认汇编器改为 arm-auto
- 自动保存时间间隔改为
30s
New:
- 增加 Save Project 右键菜单项
Change:
- armcc 问题匹配器正则表达式调整:
Line 1511 in 4f91c5b
- 自动保存项目改为 3min 间隔
Optimize:
- 未找到 .NET 运行时进行下载前,先检查上一次下载的安装包是否有效
- 优化项目保存逻辑
New:
- 增加右键菜单项:只生成
builder.params
, 不触发编译 - 为新建项目增加默认工作区设置:
"C_Cpp.errorSquiggles": "Disabled"
- 支持 iar-stm8 编译错误匹配(由于无法匹配多行,因此暂时不能匹配问题的描述):
"c:\Users\xxxx\xxxxx\xxxxxx\xxxx.c",55 Error[Pe020]: identifier "xxxx" is undefined xxxxxx
- 对于离线 vsix 安装包,支持直接安装内置的 .NET6 运行时(仅windows)
Change:
- 使用 2 空格缩进 'eide.json',便于
git diff
- 使用
dotnet --list-runtimes
检查运行时 - 未找到 .NET6 运行时时,自动安装默认版本
.NET6.0.5 runtime
,不再给出提示让用户确认(仅windows)
Optimize:
- 将
Build, Rebuild ...
等命令加入到右键菜单项中 - 将
Erase Chip
命令加入到右键菜单项中,并增加快捷键:ctrl+alt+e
- 在安装 cmsis 组件时,自动检查 deps 组件根目录是否已加入项目
- 删除多余的设置项:
EIDE.Option.ShowOutputFilesInExplorer EIDE.Option.ShowSourceReferences EIDE.Option.PrintRelativePathWhenBuild EIDE.Builder.GenerateMakefileParameters
Fixed:
- Can not update source refs after build done.
Optimized:
- Add
Erase All
right-click menu inFlasher Configurations
view. - Auto add a default
.gitignore
file for new project. - remove
runToMain: true
for cortex-debug debug config, use:runToEntryPoint: "main"
now. - Optimize drop-down field prompt for
Builder Options View
.
Change:
- Use .NET6 runtime, not
Mono
. - No longer support
X86 (32Bit)
platform.
Optimize:
- Remove some discarded extension settings.
- Optimize multi-thread build speed.
Fixed:
- Can not throw exception when extension can not get an available binaries version.
- Can not switch to rebuild mode after user changed global builder options.
Changed:
- Allow mult-thread build for
Keil_C51
project.
Fixed:
- When there are too many nested folders, the response is slow when excluding directories.
- Can not auto fetch eide-binaries update.
Changed:
- Merge unify_builder's commandline args to a single params file.
Optimized:
- Support pass source extra compiler args to cpptools.
Fixed:
- Duplicated include path items:
.eide/deps
in project. - Can not parse old version
JLinkDevices.xml
. - Enum serialport failed when use
65001
code-page in windows os.
Optimized:
- Optimize cpptools config provider for
gcc
family compilers.
Optimized:
- Allow use project env vars(like:
${OutDir}, ${ProjectName} ...
) in shell flasher commandline. - Auto check program files for stvp flasher.
- Optimize external tool executable path parser.
- Optimize some message prompt.
Fixed:
- Source ref parser encoding bug for iar_stm8 compiler.
Optimized:
- Replace
arch
command byuname -m
forarch-linux
. - Auto search executable path in system env when default tool path is invalid.
- Use monospaced font for
*.mapView
. - Disable online tool installer for
linux
platform.
Changed:
- Remove
extensionDependencies
and built-in auto active extensionDependencies. - Force use unix path for virtual source path to compat old project.
- Adjust default
project templates repo
, now it's: https://github.com/github0null/eide-templates
Optimized:
- Optimize openocd flash command-line.
- Allow show disasm for
elf
/axf
.
Fixed:
- Cannot provide C/C++ intellisense configuration for files that contain symbol links for
linux
platform. - The
exclude source list
in the old project template is invalid forlinux
platform. - Can't parse toolchain system includes and defines for
linux
platform.
New:
- Allow use project env vars in compiler params and user macro.
- Allow use project env vars in shell flasher command-line.
Optimize:
- Support auto-select armasm/armclang compiler for arm/gnu asm source files.
- Optimize cppcheck config for linux platform.
New:
- Support linux platform (ubuntu).
- Add internal
AVR
project template.
Changed:
- Move eide-binaries folder location to user's home folder.
- Remove external-tools default config value for plug-in settings.
- Remove 'c_cpp_properties.json' for eide projects.
New:
- Support linux platform (ubuntu)
Fixed:
- Fix incompatible commandline format when use vscode task.
Changed:
- Move eide-binaries folder location to user's home folder.
- Remove 'c_cpp_properties.json' for eide projects.
Optimize:
- Add
disableOutputTask
options for linker. - Optimize pyOcd target name parser.
- Adjust default builder thread number.
Changed:
- Adjust extension activation events
Bug Fixes:
- Can't register
customConfigProvider
for c/c++ plug-inv1.18.x
Bug Fixes:
- When switch target, the
Flasher Configurations
->programFile
become empty. - The
Project Resource
view cannot be refreshed due to a file opening failure in theOutput Files
view. - When using
any-gcc
toolchain, can't open builder options for 'release' target.
Optimized:
- Automatically refresh
Output Files
view` after using the cleanup function. - Add some utility compiler options for gcc toolchain.
- Generate
tasks.json
andsettings.json
for new project.
New Features:
- Support modify the source file exclude list directly by temporary yaml config file.
- Support new VSCode terminal type:
Eide Msys Bash
. - Support vscode
problem matcher
andterminal links provider
forKeil_C51
toolchain.
Bug Fixes:
- The cppTools configuration is not refresh after the project loaded.
- Some workspace config in
*.code-workspace
file are override after project load.
Changes:
- The
axf2elf
function now isdisabled
by default and must be manuallyenabled
.
Optimized:
- Use
-l
show disassambly source line for gcc. - Optimize linker output color render:
- match
Fatal error: Lxxxx:
for armcc - match
undefined reference to `xxx'
for gcc - match
multiple definition of `xxx'
for gcc - match
section `xxx' will not fit in region `xxx'
for gcc - match
region `xxx' overflowed by xxx bytes
for gcc
- match
- Support
${portList}
variable for shell flasher. - Export some executable file's directories to system environment.
- Add default
vscode task
for new project. - Reduce unnecessary pop-ups.
New Features:
- Built-in MSYS environment. For
builder user task
andshell flash command
is very useful. - Support auto run
pre-install.sh / post-install.sh
when install a project from template. (please place*-install.sh
in the.eide
folder) - Auto check project template hash before install it.
- Support automatically read and load PyOCD chip list.
Bug Fixes:
- Using prefix matches when excluding folders causes other folders to be excluded
- When there is a case difference between variables in the shell flash command line, the replacement of variables cannot be completed.
- When switch project target, some flash config not update.
- When switch project target,
programFilePath
becomenull
.
Optimized:
- Allow display any files in file system folder for project explorer.
- Support the use of environment variables and Bash scripts in the command line of custom shell flash mode
- Don't delete duplicated user include path in source folder include paths.
- Pass more compilerArgs for cpptools (for
armclang
,gcc family
compilers) - Support independent c/c++ options for armclang
- Limit cpptools config provider update interval (>150ms)
Bug Fixes:
- Some plug-in settings
TAG
missing. - Can't use
Show Disassembly
forany-gcc
andriscv_gcc
Optimized:
- Add default
make hex
andmake bin
task forany-gcc
project - Auto pass
any-gcc
global compiler options to cpptools compiler args
New Features:
- Support
any-gcc
project andany-gcc
toolchain. Used to support any gcc family compilers. - Support auto update eide-binaries
- Support
BigEndian
options forarmcc/armclang
- Support access to private template repo that need to provide
Github Personal Access Token
in plug-in Settings
Bug Fixes:
- Failed to jump definition. Not provide browsePath for the workspace causes the C/C ++ Go To Definition functionality is fail to jump to source files in the workspace
Optimized:
- Allow user add custom forceIncludeFile for c/c++ intellisense. Go to eide plug-in settings to set it.
- Align inline input box for
builder options ui
.
New Features:
- Support
SC000
,SC300
chips for armcc/armclang
Bug Fixes:
- Source files under project resources root are ignored.
- A warning appears when creating a project using a workspace template.
Changes:
- English README are preferred.
- Use CustomConfigurationProvider provide Intellisence information for
C/C++
, no longer usec_cpp_properties. Json
. - Use unify
env.ini
file for each target in a project. Instead of creating a separate '<taregt>.env.ini' file for each target. (so the old env configuration will be invalid) - In the
env.ini
file, the"workspace.order"
variable will be invalid, please use the"EIDE_BUILD_ORDER"
variable instead. docs
Optimized:
- Better build output rendering for
keil_c51, iar_stm8
toolchain - Provide more complete brows Info to C/C++ plug-in.
- Output a more detailed log to "unify_builder.log".
- In dark theme, some 'file' icon has low contrast.
- When using the Exclude file function, use filters to ignore files with invalid file suffixes.
- 修复:v2.15.1 更新增加了源文件路径变量支持,导致打开项目时加载速度过慢的问题
- 优化:当开启 VT100 终端颜色失败时,自动禁用编译输出的关键字高亮(可通过向 Builder.AdditionalCommandLine 设置添加
-force-color
强制开启高亮)
- 新增:支持在源文件路径,烧录选项->程序文件 中使用变量(不区分大小写). 暂支持以下变量:
$(OutDir)
: 输出目录$(ProjectName)
: 项目名$(ExecutableName)
: 输出的可执行文件路径,不含后缀$(ProjectRoot)
: 项目根目录项目设置->环境变量
中的变量(变量名必须只包含字母,数字或下划线)
- 修复:状态栏 打开串口命令失效
- 修复:sdcc 错误输出高亮匹配失效
- 优化:使用编辑器右键菜单打开反汇编时,自动根据源文件的当前被选中的
行
或者标识符
,跳转至相应的反汇编行(没有找到则跳转至开头) - 优化:当源文件不在当前工作区时,向 C/C++ 插件提供源文件的搜索目录
- 优化:打开文件选取对话框时,设置初始路径为项目根目录
- 优化:在使用 Importer 导入多 Target 项目时,使用 <prjName>+<targetName> 作为 id,区分列表项
- 优化:优化下载 eide-binaries 时的站点选择
- 优化:若某些烧录器不支持
Erase Chip
,则忽略该命令
- 新增:向项目属性视图增加一个修改按钮,允许以直接修改 yaml 配置文件的形式修改其配置,文档
- 新增:向项目资源视图增加一个配置按钮,允许为单个的文件或组增加任意编译选项,支持使用 glob 模式匹配源文件和组,文档
- 新增:为 虚拟文件夹/源文件 增加修改路径选项,允许修改文件的路径(方便直接修改整个虚拟文件夹树以及其链接到的源文件)
- 新增:将烧录选项
程序文件
的文件选择器取消,改为输入框;允许一次烧录多个程序文件,程序文件 字段格式 '<filePath>[,addr][;<filePath>...]
' - 新增:增加全片擦除功能,
ctrl+shift+p
打开命令面板,输入Erase Chip
,即可执行(某些烧录器可能不支持,则该命令将退化为普通的烧录命令) - 新增:在 项目资源 树中增加
Output Files
目录,用于查看生成的编译产物; 同时增加 axf, elf 信息查看功能,点击 axf/elf 文件即可打开 - 新增:增加文件右键菜单项:打开所在目录
- 新增:支持 armcc 反汇编查看,通过编辑器右键菜单
查看反汇编
即可打开 - 新增:鼠标悬停显示文件,文件夹数量(仅虚拟文件夹)
- 新增:支持通过编写外部 js 脚本来导入其他IDE项目文件中的文件树,宏,头文件等信息(方便导入
SEGGER Embedded Studio
,IAR For ARM
等其他任意 IDE 的项目),文档 - 新增:在输出目录生成 .map.view 文件,打开即可显示 map 文件的资源统计视图(仅支持ARMCC/GCC工程),文档
- 新增:支持在线下载安装 Keil 芯片支持包,默认远程仓库地址:https://github.com/github0null/eide-cmsis-pack
- 修复:CMSIS Config Wizard 在解析不符合要求的字符串类型时,出现误判
- 修复:删除 CMSIS 包之后,相应的 MCU 预定义宏被删除
- 更改:调整某些配置的显示名称,如 项目依赖 更改为 项目属性
- 更改:使用 Linux VT100 颜色代码添加更完备的编译输出日志高亮(win10 以下的系统可能不支持;可通过向插件配置
Builder.AdditionalCommandLine
添加-no-color
关闭色彩输出) - 更改:支持为 Armcc v5/v6 工具链单独设置编译器路径,同时保留旧的 MDK TOOLS.INI 设置方法
- 更改:生成 *.obj 时,根据相对路径将 obj 生成至相应的文件夹树中(若有无法计算相对路径的文件,统一生成至
obj
目录) - 优化:当烧录选项
程序文件
为空时,使用默认的程序文件路径(ui 上显示为${projectName}.hex
) - 优化:允许带空格的虚拟文件夹命名
- 优化:项目资源文件夹树排序显示
- 优化:读取完 JLink Device 列表后,删除临时文件
- 优化:调整构建工具的 Log 显示
- 优化:CMSIS Wizard UI:使被禁用的子项表单控件无法被选中
- 优化:CMSIS Wizard UI:调整布局,优化 vscode 主题颜色适配
- 优化:完善 CMSIS Wizard 的语法支持程度
- 优化:增加一些编译器预定义宏
- 优化:优化 Builder Config UI,修复选项卡阴影区域显示不正常的问题
- 新增:支持显示源文件的头文件引用,默认开启,可在插件设置中关闭
- 新增:增加 CMSIS Configuration Wizard 功能。 打开带有 CMSIS Config 格式的头文件,右键菜单选择
CMSIS Configuration Wizard
即可打开配置UI,文档
- 优化:切换不同的烧录器时,保留旧的烧录配置
- 优化:为 STLink,JLink 烧录器增加附加命令行选项,用于为烧录程序附加额外的命令行
- 修复:打开 RAM/ROM Layout 偶尔出现内容为空的问题,适应 vscode 主题色
- 修复:同时打开多个 vscode 实例时,JLink Device List 读取冲突而导致 JLink Device List 为空
- 修复:安装 Keil 包时,Components 为空导致包安装失败
- 新增:增加一条命令
eide.reinstall.binaries
,允许重新安装 eide-binaries - 优化:支持自动读取 JLink 内部 Device 列表,以及加载 JLink 安装目录下的 'JLinkDevices.xml'
- 优化:使用扩展推荐,取消原来的扩展包绑定,将自动附加扩展推荐到项目工作区(在工作内打开 扩展 -> 推荐 即可查看)
- 优化:允许向虚拟文件夹添加 c/c++ 头文件
- 优化:优化构建器选项 UI (使用 element UI 代替部分 boostrap 组件)
- 支持 sdcc 编译 .asm 汇编文件
- 优化:为 STLink 下载方式兼容 STM32CubeProgramer 下载器,将默认 stlink 下载器安装包修改为 st_cube_programer.7z
- 修复:当使用路径相对于工作区的 openocd cfg 文件时,生成的 cortex-debug 配置中出现错误
- 修复:打开构建器选项时,偶尔无法正常显示 UI
- 更改:在项目加载时保留无效的包含路径,库目录
- 优化:在使用多项目工作区时,将默认的构建优先级改为 100
- 优化:下载安装 eide binaries 时,优化站点选择
- 优化:导入 MDK 项目时,优化 RTE 组件的导入
- 新增:在设置工具链路径时,支持显式选择工具链的安装模式(仅支持免费的工具链)
- 新增:增加 vscode 演示,将在插件被安装时启动
- 修复:修复 cmsis pack 解析问题:https://discuss.em-ide.com/d/87
- 更改:将 cmsis pack 的默认安装位置改为:
.pack
, cmsis header 的安装位置改为:.cmsis
- 更改:将扩展改为扩展包,一并安装其他实用性扩展
- 更改:将插件改为在线安装,缩小 vsix 安装包大小,离线版下载位置:https://github.com/github0null/eide/releases
- 优化:能够自动在环境变量中获取 Keil 的安装位置,Keil 环境变量:
Keil_Root
- 优化:增强 MDK 项目的导入功能,自动导入 MDK 项目中的包组件,增加组件缺失时的提示功能;导入成功后,组件存放位置:
.cmsis
- 优化:优化构建器选项的 UI,适应 vscode 语言配置
- 优化:在插件启动后自动将 cortex-debug 需要的路径设置到插件环境变量
- 优化:安装 cmsis pack 的组件时对不需要的模板文件进行过滤
- 优化:新增插件设置,允许禁用相关的右键上下文菜单
- 新增:支持多项目工作区的构建,具体细节见文档:https://docs.em-ide.com/#/zh-cn/multi_prj_workspace
- 新增:支持 GCC 可执行文件的大小显示和占用比(要显示占用比,须在项目环境变量中设置芯片大小信息)
- 优化:优化构建输出显示
- 更改:默认 eide 模板后缀改为
ept
, 多项目工作区模板后缀为ewt
- 修复:串口监视器无法打开,找不到可执行文件位置
- 优化:执行终端任务时附加 eide 的可执行程序目录到环境变量
- 修复:在多项目工作区无法切换活动项目
- 优化:为 c/c++ includePath 字段增加
${workspaceFolder}
前缀,用以支持多工作区项目 - 优化:优化提示信息
- 新增:支持使用 cppcheck 对项目进行静态检查
- 优化:优化 eide.json 的结构, 删除不必要的信息
- 更改:调整在线安装工具时工具的安装目录,更改至:
<用户根目录>/.eide/tools
- 修复:将内置 unify_builder 默认字符集更改为 GBK,修复中文乱码的错误
- 更改:使用内置的 Mono 运行时代替 .NetFramework 运行时
- 更改:eide 默认模板仓库转移至 https://github.com/github0null/eide-resource
- 新增:支持在线安装缺失的工具
- 新增:对某个源文件查看反汇编(仅支持 GCC 系列)
- 更改:调整某些插件设置的命名(旧的设置将会失效)
- 更改:调整 工具链设置 图标的显示状态
- 新增:新增插件设置项
EIDE.JLink.DeviceXmlPath
,用于设置 JLink 芯片支持列表 - 修复:连接远程仓库超时,但连接未能关闭
- 优化:添加源文件时根据文件后缀进行过滤
- 优化:调整 Makefile 模板的获取方式
- 新增:支持生成通用的 Makefile 模板,在项目右键菜单中即可操作
- 优化:汉化某些编译选项名称
- 新增:优化编译选项界面,支持 vscode 主题色
- 新增:允许为项目设置一些环境变量,主要用于在
Builder Options
中使用,在 其他设置 中打开进行更改
- 新增:为 SDCC 增加 pdk13/pdk14/pdk15 芯片类型选项
- 优化:为 SDCC 优化 C/C++ 配置的生成
- 更改:使用 SDCC 编译时,允许修改 obj 文件后缀(用于兼容 pic gputils 工具),在 linker 配置中修改
- 更改:使用 SDCC 编译时,允许禁用内置的输出任务,在 linker 配置中修改
- 更改:调整命令名称
- 优化:修改编译选项后下次编译自动判断是否需要重新编译
- 新增:根据 Windows 版本自动区分要使用的 .NET 运行时
- 修复:屏蔽某个源文件时,与其名称前缀相同的源文件也被屏蔽
- 更改:移除 c/c++ 插件依赖项
- 新增:为串口监视器波特率设置增加
状态栏按钮
- 修复:iar stm8 链接时打印信息不全
- 优化:为 armcc5 增加 C, C++ 其他编译选项,移除旧的选项
misc-control
- 优化:仅在存在打开的项目时激活编辑器标题栏图标
- 优化:增加打开插件设置选项
- 修复:多目标项目切换 Target 时烧录配置字段重叠
- 优化:为
Arm gcc
工具链添加全局选项 - 优化:支持以
.o .obj
为后缀的链接库文件 - 优化:添加
build clean, download
快捷方式到编辑器标题栏 (可在插件设置中关闭) - 优化:添加命令
Reload JLink Device List
用于重新加载 JLink 可用芯片列表 - 优化:添加命令
Reload STM8 Device List
用于重新加载 STM8 可用芯片列表 - 更改:将自定义烧录器标签改为
shell
- 更改:导出模板时,将模板文件名改为
项目名
, 而不是项目目录名 - 新增:添加了一些内置模板
- 新增:STLink 烧录支持添加外部下载算法和选项字节
- 修复:openocd 烧录参数格式错误
- 修复:pyocd 空配置文件导致的更新调试配置失败
- 修复:RISC-V 没有为 Linker 传递全局参数
- 优化:支持在环境变量中自动搜索
编译器
,烧录工具
的安装位置 (需要将相关插件配置的值置空) - 优化:显示依赖项列表时进行排序
- 优化:优化编译器选项 UI
- 更改:为 pyocd 配置文件名加上 target 前缀
- 新增:支持 RISC-V 工程开发
- 修复:arm gcc 版本过高(v10-2020-q4)导致增量编译失效的问题
- 修复:无法从高版本 openocd 中获取
.cfg
配置文件列表 - 优化:在 custom 烧录方式中加入可选变量
${port}
,代指当前串口 - 优化:支持在工作区中搜索 openocd
.cfg
配置文件 - 更改:移除 arm gcc 中的
plain-char-is-signed
选项
- 更改:优化编译器选项界面 UI
- 更改:调整用于语法检查的关键字
- 优化:自动根据烧录配置生成相应的调试配置
- 新增:支持使用 UI 来修改编译器参数
- 修复:缺少 chcp 命令而导致的插件无法启动
- 更改:移除 sdcc 的 deivce-options 选项,相关参数到 misc-controls 中添加
- 更改:调整 IAR-STM8 编译器选项参数
- 更改:生成 c/c++ 配置时添加
${default}
参数
- 新增:在构建时打印源文件的路径,可在插件设置中开启或关闭
- 优化:构建时尝试提升进程优先级,以加快构建速度
- 优化:减少 github api 的调用,防止因超过访问速率限制而导致无法从 github 获取模板
- 更改:去除链接器编译选项中的
output-lib
选项,使用output-format
选项代替 - 更改:更改插件的激活方式
- 修复:在切换目标后包含路径变为绝对路径
- 优化:在构建前检查编译工具的路径是否有效
- 更改:调整某些项的标签名
- 更改:调整 STM8 的调试配置生成
- 新增:支持导入KEIL项目时导入芯片RAM/FLASH布局信息,fpu浮点选项信息
- 修复:排除功能无法排除嵌套的源文件夹
- 优化:为不支持FPU的芯片隐藏浮点选项
- 更改:移除多余浮点选项
default
, 将由已有选项none
代替
- 新增:支持 cortex-m23, cortex-m33
- 修复:导入KEIL项目时由于某些包含路径存在后缀 '\',而导致路径不正确
- 修复:导入KEIL项目时带有"的宏定义解析出错
- 修复:切换 Target 之后,编译,烧录配置没有更新
- 更改:修改插件图标为圆形
- 更改:调整字符串提示,和某些工具的图标
- 优化:导入KEIL项目时自动选择工具链
- 优化:为外部工具的路径设置增加默认值
- 新增:支持以虚拟文件夹形式组织源文件
- 新增:支持 KEIL 项目导入功能,但只支持 KEIL 5 及以上版本
- 新增:支持更改项目名称
- 优化:当使用的工具没有安装时,给出提示和下载链接
- 优化:隐藏 axf2elf 工具的输出,将其重定向到 axf2elf.log 文件
- 优化:为 github 站点进行代理,提升模板仓库连接速度和下载速度
- 优化:调整构建器的输出提示
- 调整:更改某些字符串提示
- 更改:调整 sdcc, gcc 默认编译配置
- 更改:调整某些提示信息
- 新增:允许为项目创建 target, 和切换 target
- 优化:汉化某些提示信息
- 优化:隐藏某些不必要的设置或选项
- 修复:在工作区文件夹内无法启动扩展
- 新增:允许通过自定义shell命令下载程序
- 修复:解析 GD32 keil 包时出现的问题
- 调整:调整功能按钮;移除多余的按钮,将其放到右键菜单
- 优化:压缩配置, 移除无用的 eide 项目配置
- 新增:为 ARMCC 增加
代码大小
和代码速度
优化的选项 - 优化:为模板名称排序
- 修复:打开多个项目时,日志输出位置重叠
- 优化:优化调试配置的生成
- 修复:导出 keil 项目时没有设置输出目录
- 更改:调整 C/C++ 插件的配置生成
- 新增:添加新设置,允许设置输出目录名称
- 更改:允许添加多个链接脚本
- 更改:将 EIDE.json 重命名为 eide.json
- 优化:模板视图支持嵌套显示
- 修复:打开串口监视器时出现资源已经释放的错误
- 修复:在没有打开工作区时无法编译项目
- 调整:将 "项目" 栏重命名为 "项目资源"
- 优化:在 "项目资源" 栏中支持双击文件以非预览模式打开
- 调整:创建项目的向导
- 调整:调整内置的模板
- 修复:获取模板信息时没有进度条显示
- 调整:将依赖项目录 deps 移动到 .eide
- 调整:builder 的日志格式
- 调整:构建工具的输出
- 调整:Github 模板的显示结构
- 调整:根据下载配置生成调试配置
- 修复:解析调试配置失败时,launch.json 被重置
- 修复:命令行输出错位
- 更改:将从模板创建选项合并到新建项目
- 更改:调整视图的默认显示顺序
- 更改:调整构建工具的输出
- 更改:调整生成 hex, bin, s19 的命令行
- 更改:调整串口监视器
- 更改:调整用于完善语法高亮的宏
- 修复:更改编译配置后没有在下一次编译时触发重新编译
- 更改:允许将项目创建在已存在的目录中
- 修复:导出 Keil XML 时没有为 ASM 导出全局的宏
- 更改:调整了一些字符串提示
- 更改:为某些编译配置增加 output-debug-info 选项,用以指定是否生成调试信息
- 更改:允许为 KEIL_C51 的宏设置值
- 更改:调整 KEIL_C51 汇编器为 A51,不再使用 AX51
- 更改:调整 OpenOCD 下载的命令行
- 更改:调整输出目录
- 更改:调整 dependence 目录
- 更改:调整某些文本提示
- 更改:Build 功能: 使用编译器输出的 *.d 引用文件来确定哪些源文件需要重新编译,移除旧的方法
- 修复:输出目录不存在导致 jlink 烧录失败并无法再次进行烧录
- 更改:使某些输入框能够一直获得焦点,防止因鼠标单击空白而导致输入框消失
- 更改:调整构建工具的输出
- 新增:为编译器输出增加高亮
- 更改:调整默认快捷键
- 更改:使用 jsonc 解析某些带注释的 vsocde 配置
- 更改:调整了一些图标
- 更改:调整了一些字符串提示
- 更改:调整了构建工具
- 修复:文件夹变化过快导致的刷新文件夹失败
- 更改:调整一些默认的编译配置
- 新增:支持使用 .eideignore 在打包项目时排除某些文件
- 新增:OpenOCD 烧录
- 更改:快速编译在搜索头文件时忽略文件名的大小写
- 更改:修补 axf 时保留符号表
- 优化一些使用细节
- 新增:pyocd 烧录,用以支持 DAP-Link,使用方法
- 更改:完善 c_cpp_properties.json 的内容
- 修复:部分 keil 包解析错误
- 优化一些使用细节
- 新增: 自动从 Github 更新全局的编译器参数配置
- 更改: 调整 ARM-GCC 默认的项目编译配置
- 更改: 简化 JLink 烧录配置,使用 JLink 命令行代替 JFlash
- 更改: 默认使用 task 发送命令,可在插件设置中更改
- 修复: C51 宏的格式不正确导致的编译错误
- 更改: 调整 STVP 的烧录参数
- 更改: 增加一些内置的项目模板,可在新建项目时选择
- 更改: 将 ARM_GCC 默认的 FABI 值由 hard 改为 softfp
- 修复: 完善 IAR_STM8 工具链的 编译参数 和 宏扩展
- 优化: 串口监视器支持 GBK 编码
- 优化一些细节
- 更改: 排除目录时递归排除所有子目录
- 修复一些问题
- 优化一些使用细节