所有值得注意的版本变化将被记录在这个文件中。
All notable version changes will be recorded in this file.
New:
One-Click Debug: Support new debuggereclipse-cdt.cdt-gdb-vscode. You can select it in project settings.
Changes:
axf2elf Removed: This function now is deprecated because we can use 'loadFiles', 'symbolFiles' options to load ac5/ac6 axf.Project Export: Check PR 511 for more details.
Improve:
Project Explorer: AddcopyPathcontext menu in explorer ui.Project AutoSave: When the project file is being modified, cancel the pending save operation. This avoids accidental file overwriting.
Improve:
Project Diagnostics: Add code action for stub func missed warning. (to auto fix gcc warning: "_xxx is not implemented and will always fail")Toolchain Setup: Goto eide tools folder by default when user start to select a location.
New:
Symbol Table View: New symbol table UI (with c++ symbol name demangler).
Fix:
Toolchain Options: Fix issue 495Project Importer: Fix issue 491axf2elf Tool: ELF files too large when addresses not contiguous. PR 6
Improve:
unify_builder: Use independent lock file instead ofunify_builder.logfile.Debug Config Provider: Add chipDescriptionPath support for probe-rs. PR 499memap View: Update memap command.Intellisense Provider: Update armclang lint file.
Fix:
Project Toolchain: Revert commit 'support generic gcc for arm or riscv projects.'Project Migration: Fix user context data not migrated. issues 479
Change:
Project File: Use yaml instead of json and update project data schema. Renameeide.jsontoeide.yml.
Fix:
Target Switch: Fix file's options was overrided when switch to other target.
Improve:
Project Templates: Add local cache for fetching remote templates repository.
Notice: This version contains important changes. After the automatic migration is completed, you will no longer be able to open your project using the old version of the plugin.
Improve:
Builder Options: Support ARM/Thumb Mode select options. Fix issues 475
Fix:
Flasher: fix flasher crashed when enumSerialPort failed.Setup Toolchain: fix performace issue for OnSetToolchainPath(). update toolchain descriptions.sdcc+binutils Toolchain: fix "fatal error: cannot execute 'cc1'" for Win32 platform.Misc: Compatibility improvement for vscode task issue 260534
Improve:
Debug: Support 'attach' mode for 'one-click' debugging.
Improve:
Debug: Support one-click to start debugging forprobe-rsflasher. Require extension probe-rs.probe-rs-debugger
Improve:
Import Project: Improve project parser when import an eclipse project.Debug: One-click to start debugging. NOT NEED ANYlaunch.json. See HereToolchain Options: New optionuse-newlib-nano,not-use-syscallsforarm-none-eabi-gcctoolchain.
New:
Flasher: Support new flasher probe-rs. Used for 'ARM', 'RISCV' chips.
New:
8051 Toolchain: Support new SDCC + Binutils Toolchain for mcs51 https://github.com/github0null/sdcc-binutils-mcs51/blob/master/README_zh.md
Fix:
ELF View: Fix issue 461
New:
Project Templates Explorer: New online project templates web site: https://templates.em-ide.com
Fix:
Task Execution Broken: Fix build task not work on latest vscode.Symbol Table: FixENOBUFwhen dump symbol table from a big file.
Improve:
Project Templates: Update internal project templates.C/C++: Update builtin lint headers.Other: Miscellaneous things.
Improve:
Create Project: Miscellaneous things. (init project files, init project settings ... etc.)
Improve:
-
GNU Arm Toolchain: Support new mcpu:cortex-m52, cortex-m55, cortex-m85. -
unify_builder: Optimize builder speed. -
File Options: Add memory assignment feature forAC5,AC6toolchain. Thanks the contributor Deadline039 -
File Options GUI: Update the translation text. Optimize layout. -
DebugConfig Generator GUI: Change gui element width. Sort the option result list. -
AC5/AC6 Assembler: Support use<key>=<val>preprocessor format for AC5/AC6 armasm. -
Makefile Generator: Improve makefile generator. -
Builder Options: Add more options forarm-gccandany-gcctoolchain.
Fix:
IAR ARM Toolchain: Miss auto-gen-Iparams for iar assembler.Keil Project Import: Force use ';' as the path delimiter on unix and windows.Eclipse Project Import: Incorrect project type was detected.
Change:
EIDE View Container: By default, we will collapse theOperationsview.Webpanel Views: Starting from this version, we will use singleton pattern forBuilder Options View,Storage Layout View,Cmsis Header Config Wizard, This means that for each view, only one page can be opened for each project.
Fix:
Map View: Fix in some cases, 'map.view' item's diff size is incorrect (LLVM_ARM Toolchain).
Improve:
Map View: Add a Graph button to switch dynamic chart. Improve COSMIC_STM8 'map.view' feature.LLVM Arm Toolchain: Add '-Oz' option.Builder Options: Better option description text. Change web view elements layout.Toolchain Download: Update remote packagearm-none-eabi-gccto v14.3.
Improve:
LLVM Arm Toolchain: Supportmap view,symbol tablesfeatures for LLVM Arm Toolchain.Switch Target: Improve using status-bar to switch target.Builder Options: Improve description text for some options.Plug-in Settings: New option:EIDE.Option.EnableClangdConfigGeneratorto control auto generate '.clangd' file.
Change:
unify_builder: Update to v3.10.1
New:
Arm Project: Support new toolchain LLVM-embedded-toolchain-for-Arm.
Improve:
Arm Project: ImproveCPU Extension Optionsfeature.GCC Toolchain: More c/c++ options in builder options GUI. like: '-Oz', '-flto', '-fno-rtti' ...Intellisence: Improve intellisence config provider.JLink: Update jlink to v8.50, fix jlink exe name error on linux.
Change:
unify_builder: Update to v3.10.0
NOTE: Update the version of file
eide.jsontov3.6
New:
Toolchain: AddArmv8-M.Main, Armv8.1-M.Mainarchitectures support forAC6 (armclang)andarm-none-eabi-gcc.
Fix:
Keil Project Import: Miss match RTE source files when import mdk arm projects. Fix mdk C macro importer.
Change:
Exclude List: Show all exclude list for every targets. (command:_cl.eide.project.source.modify.exclude_list)CMSIS Core Headers: Built-in cmsis header zip files in plug-in.
Fix:
unify_builder: Unresolved variables in compiler command line.Keil Project Import: Incorrect option mapping when import keil project.
Fix:
unify_builder:pre-buildtask was running unexpectedly.Project View: Some command callbacks passed wrong params.CMSIS Pack: Package info was not be cleaned after uninstalled package.
Fix:
Eclipse Importer: Eclipse project parser crashed on some empty node.
Optimize:
Export Makefile: Use relative linker script path when export makefile. Generatebuilder.paramsto system tmp dir when export makefile.
New:
File Option: New optionAlways In Build. This will make the source file always be builded regardless of whether it changes or not.Linker Option: New optionDon't Output Specific Binary Files. You can exclude some specific binary type when output binary files.
Fix:
SDCC model: Debug option missed on linker.
Optimize:
CMSIS Library: Update built-in cmsis dsp lib/headers.Keil Project Import: Parse file options when import keil arm project.Create Project: Use projectName when create .code-workspace file.unify_builder: Update unify_builder to v3.9.4
New:
Map View: Support showmap.viewfile for SDCC and KEIL_C51 toolchain.Scatter File Highlight: Support a simple arm scatter file (.sct) language support.
Fix:
Program Matcher: Sometimes armcc problem matcher missed matchs.CMSIS Config Wizard: Missed skip value for<e>tag.
New:
Xpack Toolchain: Add xpack-dev-toolspackage.jsonsupport.Right-click Menu: AddCompilebutton for source file.Project Resource: Add new inline button:Add File.Builder Configuration: Addopenbutton forlinker scriptpath config.
Optimize:
CMSIS Config Wizard: Minor refactoring to improve parser. Support<n><s.i>tags. Support error prompt.Open Project: Add progress bar when opening a project.Create Project: Improve create project. Fill default project name when creating a new project.Import Project: Improve Keil project import. Support import RTE source files.Built-in Project Templates: Update stm8s/sdcc project templates.COSMIC-STM8: Improve COSMIC-STM8 project. Support cosmic-stm8 '.lkf' file grammar highlight.unify_builder: Update unify_builder to v3.9.1. Improve increment compile. Improve makefile generator.Source Compile Options: Improve GUI. Add a textarea to show current compile commands.Build Project: Support silent mode. Add spinning animation for 'build' and 'flash' status bar.Compile Database Generator: Auto generatecompile_commands.json.
Changes:
Custom Task: Rename task typeeide.msystoeide.bash.Project Build: Remove project variables which starts withEIDE_TOOL_.
Optimize:
Internal Templates: Update internal project templates.unify_builder: Optimize makefile generator.Project Resource: Add batch operation support on files or folders. Thanks Deadline039 !CMSIS Config Wizard: Add a search input box. Now you can search config.CMSIS Config Wizard: Add non-number options support. Thanks Deadline039 !
Fix:
Chip Package: Fix package parser bug.
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_xxxvariables 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/depsand 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_PORTABLEenvironment 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_PORTABLEenvironment 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.templatefile.STLink Flasher: Use codepage437when 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.clangdconfig 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 typeMIPSand 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.dfiles 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 typeMIPSand 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.dfiles 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 STM8for 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 expressionsfor 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.DisplayLanguageto choose a language for UI, prompts.
Fix:
Memory Layout View: Error format when user input an integer number.
Optimize:
Utility Tools: Usestartcommand 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 pathortoolchain prefixfor 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 Tablevirtual file inOutput Files, click it to showelf symbols(support 'armcc', 'gcc', 'iar').Builder Options: AddX/O Base,R/O Base,R/W Baseoptions 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.0tov1.67.0
Fix:
cpptools configuration provider not work: Fix provider file filter bug.
Optimize:
Resource Explorer: Keepnon-existedfilesystem 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 pathoperations
Fix:
Task type: 'eide.msys': Theenvproperty does not work.
Change:
Task type: 'eide.msys': Uselabelproperty for task title, notname
New:
New task type: 'eide.msys': You can write user task intasks.jsonfile, and executeunix shellcommand inwindowsplatform.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-modeloptions.Cmsis Core Libraries: Filter unused*.libwhen 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
.binfile. - 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
OUTPUTpanel. - 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
OUTPUTpanel. - 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
.binfile
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.normalizereplaceNodeJs.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
bashcommand 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-addonbefore getting start) - New compiler problem matcher
- Allow nested env variables (max deep: 5)
- Generate
compiler.logfile to build folder - Provide diagnostic informations into
Problemspanel fromcompiler.logfile after project build finished - Allow execute post install command when install external tools.
- Allow empty
linkerScriptfile 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
sdccmodel
Change:
- Remove terminal problem matcher, use
vscode.Diagnosticapi 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 Toolchainfunction. - Optimize cmsis header wizard parser. (allow string prefix/suffix for number value)
New:
- Generate
compiler.logfile to build folder - Provide diagnostic informations into
Problemspanel fromcompiler.logfile after project build finished
Change:
- Remove terminal problem matcher, use
vscode.Diagnosticapi 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-addontool 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 Toolchainfunction. - Allow empty
linkerScriptfile 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 Sourcescontext menu for source folder - Brand new documentation, product landing page, here: https://em-ide.com
Change:
- Adjust
eide.jsonstructure - Generate a
.eide.usr.ctx.jsonfile 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 PanelGrammar 文件,推荐使用扩展:IBM.output-colorizer - 在芯片支持包中切换芯片后,不再覆盖
memory layout配置 - 支持直接设置 Keil
UV4.exe路径来定位编译器路径 - 自动搜索源文件夹时,跳过以 '.' 开头的文件夹
- 项目自动保存时间间隔改为 100 s
- 自动搜索源文件时,排除以
.开头的文件夹 - 移除添加源文件夹时,不能添加根目录之外的文件夹的限制
- 更改输出目录时,不删除旧的
- 支持为 Any-gcc 选择 linker 类型,可选项:
gcc, ld,用于支持较老版本的 gcc - 新建空项目时,不再自动生成默认
main.c文件 - 项目中所有的配置文件名都加上
target name前缀(在旧的版本中,仅releasetarget 无前缀) - 新建构建配置时,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 PanelGrammar 文件,推荐使用扩展: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前缀(在旧的版本中,仅releasetarget 无前缀)
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 Allright-click menu inFlasher Configurationsview. - Auto add a default
.gitignorefile for new project. - remove
runToMain: truefor 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_C51project.
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/depsin project. - Can not parse old version
JLinkDevices.xml. - Enum serialport failed when use
65001code-page in windows os.
Optimized:
- Optimize cpptools config provider for
gccfamily 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
archcommand byuname -mforarch-linux. - Auto search executable path in system env when default tool path is invalid.
- Use monospaced font for
*.mapView. - Disable online tool installer for
linuxplatform.
Changed:
- Remove
extensionDependenciesand 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
linuxplatform. - The
exclude source listin the old project template is invalid forlinuxplatform. - Can't parse toolchain system includes and defines for
linuxplatform.
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
AVRproject 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
disableOutputTaskoptions for linker. - Optimize pyOcd target name parser.
- Adjust default builder thread number.
Changed:
- Adjust extension activation events
Bug Fixes:
- Can't register
customConfigProviderfor c/c++ plug-inv1.18.x
Bug Fixes:
- When switch target, the
Flasher Configurations->programFilebecome empty. - The
Project Resourceview cannot be refreshed due to a file opening failure in theOutput Filesview. - When using
any-gcctoolchain, can't open builder options for 'release' target.
Optimized:
- Automatically refresh
Output Filesview` after using the cleanup function. - Add some utility compiler options for gcc toolchain.
- Generate
tasks.jsonandsettings.jsonfor 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 matcherandterminal links providerforKeil_C51toolchain.
Bug Fixes:
- The cppTools configuration is not refresh after the project loaded.
- Some workspace config in
*.code-workspacefile are override after project load.
Changes:
- The
axf2elffunction now isdisabledby default and must be manuallyenabled.
Optimized:
- Use
-lshow 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 bytesfor gcc
- match
- Support
${portList}variable for shell flasher. - Export some executable file's directories to system environment.
- Add default
vscode taskfor new project. - Reduce unnecessary pop-ups.
New Features:
- Built-in MSYS environment. For
builder user taskandshell flash commandis very useful. - Support auto run
pre-install.sh / post-install.shwhen install a project from template. (please place*-install.shin the.eidefolder) - 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,
programFilePathbecomenull.
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 familycompilers) - Support independent c/c++ options for armclang
- Limit cpptools config provider update interval (>150ms)
Bug Fixes:
- Some plug-in settings
TAGmissing. - Can't use
Show Disassemblyforany-gccandriscv_gcc
Optimized:
- Add default
make hexandmake bintask forany-gccproject - Auto pass
any-gccglobal compiler options to cpptools compiler args
New Features:
- Support
any-gccproject andany-gcctoolchain. Used to support any gcc family compilers. - Support auto update eide-binaries
- Support
BigEndianoptions forarmcc/armclang - Support access to private template repo that need to provide
Github Personal Access Tokenin 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,SC300chips 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.inifile 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.inifile, 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_stm8toolchain - 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 编码
- 优化一些细节
- 更改: 排除目录时递归排除所有子目录
- 修复一些问题
- 优化一些使用细节



