Releases: intel/Edk2Code
v1.1.2
🆕 Features & Enhancements
🔗 VSCode Link Support for References
- New Configuration: Added
edk2code.addVscodeLinksToReferencessetting- When enabled, the tree output includes clickable markdown links that open files at specific line numbers
- Default:
false - Perfect for creating documentation with direct file links
📊 Enhanced Diagnostic Handling
- Improved Performance: Added diagnostic caching and duplicate detection
- Symbol Validation: Added automatic validation for INF file symbols against DEC files
- Validates GUIDs, Protocols, PPIs, and PCDs
- Shows errors when symbols are not found in referenced DEC files
- Better Error Management: Prevents duplicate diagnostics from cluttering the Problems panel
Full Changelog: v1.1.1...v1.1.2
v1.1.1
- Added support to handle VsCode workspaces and create
.edk2codefolder outside them. - Improved conditional logic parsing for DSC and FDF files
- Added error messages for conditional logic in DSC and FDF files
Full Changelog: v1.1.0...v1.1.1
v1.1.0
New features
Module map
You can right click on a compiled INF file and select EDK2: Show Module Map
This will open the EDK2 submenu showing the libraries and source files that were used to compile that INF.
This feature is helpful in visualizing how a module includes various libraries. It also provides insights into how C files within the module include header files. By understanding these relationships, developers can better manage dependencies.
Error Detection
The DSC analysis can identify potential issues within the DSC files, such incorrect paths, duplicated libraries, etc. These issues are highlighted and shown in the Visual Studio Code "Problems" window.
You can disable this using the edk2code.enableDiagnostics setting
Edk2Code_1.0.8
What's Changed
- fix a bunch of misspellings by @WilliamLeara in #7
- Add more if pairs for VFR format by @lxvs in #9
- Add clangd config check in checkCompileCommandsConfig() by @YangGangUEFI in #10
Enhancements
- JSON Configuration & Syntax:
- Added new keyword pairs:
warningif,inconsistentif,disableif,nosubmitiftoedk2_vfr.conf.jsonandedk2_vfr.tmLanguage.jsonfor improved syntax highlighting and language support. 🆕✨
- Added new keyword pairs:
Bug Fixes
- Typographical Errors:
- Corrected misspelled words:
seetingtosettingandGenerationgtoGenerating. 📝🛠️ - Fixed a typo in the message: "c_cpp_properties.json points to wrong compile_commands.json". 📝🔧
- Corrected misspelled words:
Features
- New Commands:
- Introduced
edk2code.copyTreeDatacommand to copy tree data to clipboard in a formatted string. 📋🌳
- Introduced
- Clangd Support:
- Added support for Clang compile commands in the workspace configuration. 🛠️🔧
- Automatically updates
clangdconfiguration with the correct--compile-commands-dirargument ifvscode-clangdextension is installed. 🆕🔄
- Automatically updates
- Added support for Clang compile commands in the workspace configuration. 🛠️🔧
Code Quality
- Refactoring & Cleanup:
- Improved code readability by trimming redundant spaces and unifying function behavior. 🧼🛠️
- Renamed
edksymbol.tstoedkSymbols.tsfor consistency. 📂🗂️
New Contributors
- @WilliamLeara made their first contribution in #7
- @lxvs made their first contribution in #9
- @YangGangUEFI made their first contribution in #10
Full Changelog: Edk2Code_1.0.7...Edk2Code_1.0.8
Edk2Code_1.0.7
Version 1.0.7 🚀
New Features 🌟
- Introduced
DiagnosticManagerfor managing diagnostics within the extension. This includes a comprehensive list of diagnostic codes and descriptions for various errors and warnings that can occur during the parsing and analysis of EDK2 code. 🛠️ - Added support for reading and writing the
cscope.filesusing theCscopeclass, enhancing the handling of file paths and improving compatibility with different operating systems. 📁 - Implemented a new method for handling conditional statements within the EDK2 workspace, providing more accurate processing and error reporting. 🔍
- Enhanced the library and module parsing capabilities to include better path resolution and error handling, ensuring that missing paths and other common issues are correctly identified and reported. 📚
Improvements ✨
- Updated the handling of
cscope.filesto use arrays and improved file path manipulation, making the generation of cscope files more robust and error-resistant. 🔄 - Improved the configuration and management of diagnostic reports, allowing for more precise and informative error and warning messages. 📊
- Enhanced the user interface messages and added new wiki links for better user guidance and support. 💡
Bug Fixes 🐛
- Fixed an issue where the
.ignorefile generation was not correctly excluding files from the EDK2 workspace analysis, leading to more accurate and efficient indexing. 🚫 - Addressed a bug in the handling of include paths and library paths, ensuring that all paths are correctly parsed and resolved. 🛠️
- Corrected the regex patterns used for parsing library paths, allowing for a wider range of file extensions to be recognized and processed. 📂
Full Changelog: Edk2Code_1.0.5...Edk2Code_1.0.7
Edk2Code_1.0.5
- Adding Library tree view command.
- Added autocompletion for depex blocks in INF files
- Added setting to overwrite cscope command path
Full Changelog: Edk2Code_1.0.4...Edk2Code_1.0.5
Edk2Code_1.0.4
- Fixed call Hierarchy logic
- Modified logic to generate .ignore
- Fixed condition to take latest DSC changes of main DSC file when graying out text
- Fixed some variable types
- Added
UNIfiles on unused task bar
Full Changelog: Edk2Code_1.0.1...Edk2Code_1.0.4
Edk2Code_1.0.1
Bug fixed:
- Avoid unnecessary rescan windows
Full Changelog: Edk2Code_1.0.0...Edk2Code_1.0.1
Edk2Code_1.0.0
Mayor refactor to integrate optimizations
- Created specific .edkfolder for workspace settings.html
- Created own configuration page for workspace
- Improved autocomplete on inf files
- Improved EDK parser methods
- Removed unused code
- Added new goto commands
Full Changelog: Edk2Code_0.0.5...Edk2Code_1.0.0
Edk2Code_0.0.5
Fixing patter for buildDefines configuration
Full Changelog: Edk2Code_0.0.4...Edk2Code_0.0.5


