v2009 vol 1
User Experience Improvements
In this release, we've added a document bar hinting feature. It allows for quick navigation to code issues and displays issue preview hints so that you can immediately highlight and fix issues.
Version 2009 vol 1 also introduces several new actions used for keyboard interaction. The following new actions allow you to navigate though issues and manage them.
- CodeIssueShowFixes - Opens code issue hint window with a list of available fixes.
- NextIssue - Navigates to the next code issue.
- PreviousIssue - Navigates to the previous code issue.
- CodeIssueDisableForActiveFile - Disables code issue checks for the active file.
- CodeIssueToggle - Toggles code issues on or off.
NextIssue and PreviousIssue actions can accept parameters to control issue type to navigate. You can navigate through all issues, hints, warnings, dead code, code smells and errors. Combinations are allowed.
Better Capabilities for Controlling CodeRush Feature Availability
We have added a feature that allows beginner users to better understand what CodeRush is doing and easily decide which features should be kept enabled. Whenever CodeRush does something, it now shows a hint which explains what has happened. Thus, you can easily learn new features, and more importantly, you can instantly disable a feature you do not require.
The same UI is also used to show conflicting DXCore and Visual Studio shortcuts. When a DXCore shortcut is conflicting with Visual Studio, DXCore shows a hint providing options to rebind this shortcut, enable Visual Studio shortcut or enable DXCore shortcut.
With the newly introduced Code Issues management, we also allow you to suppress code issue highlighting using similar hint windows.
The new Visualization toolbar displays buttons that allow you to enable or disable code visualization features: member icons, structural highlighting, code issues, code metrics, regions, etc.
Performance and Stability Improvements
For the Code Issues feature, we've implemented the following performance enhancements:
- Solution-wide analysis is now disabled by default, and so code issues will be available only for the current file.
Data needed by most code issues is now moved into event arguments passed to the code issue processors. This frequently-accessed information is now calculated only once, on demand and when the data is invalid. This optimization has greatly improved the performance of the code issue background thread.
- Improved performance of code issue searchers and visual painters.
- More stable code issues checking thread.
Other performance and stability enhancements include the following:
- Parsers - Lots of minor enhancements in the incremental parser engine. Added preprocessor support to the C# parser.
- Availability Checking - Corrected problems with availability checking, where the same operations were performed up to two times in a row prior to displaying a smart tag or refactoring menu.
- Improved DXCore Loader Engine - Visual Studio now starts instantly. DXCore plugins are loaded only after the splash screen goes away.
- Searching and Type Resolution - This technology is used by nearly every advanced code-aware feature in CodeRush and Refactor! Pro. We've reworked the SearcherBase class so now it does less work to produce the same results.
- Meta Data Serialization - We've greatly improved memory usage when loading meta data from cache. Meta data is the technology we use to perform type resolution inside referenced DLLs (where source code cannot be accessed).