Skip to content

UI update, code optimizations and minor improvements#71

Open
3fbaea00 wants to merge 26 commits into
EgorBo:mainfrom
3fbaea00:main
Open

UI update, code optimizations and minor improvements#71
3fbaea00 wants to merge 26 commits into
EgorBo:mainfrom
3fbaea00:main

Conversation

@3fbaea00
Copy link
Copy Markdown

@3fbaea00 3fbaea00 commented Dec 10, 2025

The entire design has been updated.

  • Support for dynamic themes has been added.
  • The proportions have been changed, and the position of the elements has been corrected.
  • The appearance of the tool window for Full HD has been corrected.
  • The designer file has been simplified.
    More highlighting has been added to the disassembly code for control instructions, break instructions, and no-operation instructions.

It now looks like:
image

Other improvements:

  • The loading of Intrinsics has been accelerated several times through the use of asynchronous file loading and a single compilation process.
  • The Intrinsics search has been optimized by caching strings.
  • Parsing of JitDisasm output has been optimized.
  • Support has been added for the DisasmWindow button to open the disasm window.
  • Allowed minimal comments in Run mode.
  • The way of obtaining the current version of the plugin has been changed.
  • Added a processing queue for flow graphs. Previously, careless use could crash Windows.
  • And other minor changes.

Bug fixes:

  • Fixed a bug related to ignoring projects within solution folders when DTE.ActiveSolutionProjects failed
  • Fixed a then it was impossible to analyze the implementation of an interface method
  • Fixed the lack of quotes in dotnet build args, which led to fail when the target project has spaces in its path

Clean up the code at the syntax level. Remove old-style namespace scopes. Fix modifiers. Force use 'var' instead of explicit type declarations. Remove empty lines and add additional lines where necessary.
Fix bottom name of the method. Also add additional info about method compilation.
Refactor DisassemblyPrettifier. Remove unused checks. Get rid of unnecessary ToList() conversions. And other optimizations.
Refactor the code by improving naming, simplifying logic and optimization code. Rename constants and variables names. Change comments.
Fix a bug in IntrinsicsSourcesService where the data was not showing up when typing methods filter for the first time due to a misconception about how asynchronous code was used.

Optimize IntrinsicsSourcesService by adding asynchronous fetching of content from github and compiling of all content instead of its parts separately.
After several hours of debugging, I got all parts of the code that allow to dynamically resolve styles from original Visual Studio components.

Add MefExtensions because, without it, the MEF component services will not resolve. This solution should be no slower than the original.

The styles update along with the theme rather than changing each color individually. This design avoids overengineering.
Redesign tool window, change the location and alignment of the elements.
Refactor whole markup file.
Small code refactoring.
Remove IdeAppearanceProvider and MefExtensions.
No, I changed my mind. Switch from string.Empty to ""
…eak instructions and asm comments

Also fix a bug related to incorrect coloring of non-asm content
… size label, move it to the header

Could it break?
- Yes, it will break!
Do we care if it breaks?
- Well, slightly...
Did we forget about try-catch?
- No! It is there. So everything is fine <3
Other non-readme-relared files are not updated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant