Whole Tomato Software will exhibit at the Game Developer Conference this week, March 21-23, in San Francisco. If you attend the expo, stop by booth 123 to see the latest features in Visual Assist, share your wishes for the product, and pick up some nifty swag.
Visual Assist build 2258 is the first of the new calendar year and evidence of a return to normalcy at Whole Tomato. Last year’s dealing with bugs in the Fall Creators Update was an unwelcome distraction.
Long-time users of Visual Assist know that Open File in Solution (OFIS) has been a mainstay of Visual Assist since the product’s inception. Yet, there seems always room for improvement in the feature. With build 2258, the OFIS dialog now accepts target character positions when specified with a line number. The improvement better accommodates copying of diagnostic locations from build logs directly into the dialog.
OFIS (Shift+Alt+O) also recognizes when the current solution is in one of many directories under a git root, and expands the domain of searchable files to all files under the root—not just those within the current solution. Use the Ctrl+D toggle in the dialog to show/hide the relevant files.
For those who set bookmarks or manage to-do’s using VA Hashtags, you can now navigate the tool window of hashtags even though focus is in the edit field. Use Up-, Down-, Left-, and Right-Arrow to navigate nodes, and Enter to open/close or jump to a location.
Also with build 2258, game developers with Unreal Engine 4 (UE4) get better parsing, italics for local engine installations, smarter Create Implementation, and enabling of support for UE4 via the options dialog of Visual Assist.
Build 2258.5, with its bug fix for the options dialog, requires software maintenance through 2018.03.06.
Build 2258 requires software maintenance through 2018.02.20.
Check out the complete list of what’s new in build 2258; learn about character position in OFIS, hashtags navigation, or support for UE4; or dispense with more reading and download the installer for build 2258.5.
Visual Assist build 2248 closes our dealing with recent bugs in Windows 10 and a problem with Visual Studio 2017. Prior posts in this blog describe the bugs and the workarounds, but the outcome of the ordeal is that if you use Windows 10—version 1703 or 1709—update to the latest build from Microsoft. And if you use Visual Studio 2017, update to build 15.5 of the IDE. Visual Assist operates as expected with the updates.
Find References, a staple of Visual Assist for more than a decade, was improved in build 2219 such that results designate, and can be filtered on, class creation/construction hits. Build 2248 extends the hits to include calls to CreateInstance and CoCreateInstance. Toggle the hits by pressing ‘c’ in a result window; see only the hits with the ‘d’, ‘r’, and ‘s’ toggles.
Code Inspection continues to mature in build 2248 with three new quality checks, all of which can be quick fixed:
- Range-based loop variable can be a const reference
- Local variable can be a const reference
- Prefer transparent functor
With build 2248, game developers who use Unreal Engine 4 (UE4) get specifier completion for the UCLASS(), USTRUCT(), UFUNCTION(), and UPROPERTY() macros. If you develop with the engine, be sure to set the registry to make Visual Assist compatible with UE4. The registry setting enables the specifier completion as well as other UE4-specific behavior.
Build 2248 requires software maintenance through 2017.12.16.
If you follow news from Whole Tomato, you know that Microsoft released several builds of Windows 10 with bugs that caused Visual Studio to crash when Visual Assist was installed. More recently, Microsoft introduced a change in Visual Studio 2017 15.5 that causes the Code Inspection feature of Visual Assist to crash.
If you use Visual Studio 2017 and updated to 15.5, disable Code Inspection in the options dialog of Visual Assist. The next build of Visual Assist will include a fix that will let you re-enable the feature.
If you run Windows 10 Version 1709 (Fall Creators Update), your installation of Windows 10 must be up to date in order to use Visual Assist. Microsoft’s December 12th update to OS Build 16299.125 includes a required fix for a CreateWindowEx() failure.
If you run Windows 10 Version 1703 and deferred installation of the Fall Creators Update, you are free to un-pause Windows Update and upgrade to 1709.
If you prefer to remain with Windows 10 Version 1703, you must run at least OS Build 15063.729, released November 22nd, in order to have a required fix for a broken hook mechanism.
Thank you for your patience as we grapple with the bugs and crashes.
If all goes well, the next post in this blog will simply announce a new build of Visual Assist.
Microsoft tightened security in the Windows 10 Version 1709 Fall Creators Update (FCU), but unfortunately, the tightening adversely affects the performance of applications that use the Win32 GetPixel API. Visual Assist is one such application so initial opening of editor windows in Visual Studio, when Visual Assist is active, can be extremely slow.
You can speed up the opening of edtor windows when using Visual Assist to pre-FCU levels by disabling Control Flow Guard for Visual Studio. Navigate to:
Windows Defender Security Center | App & browser control | Exploit protection settings | Program settings | Add program to customize | Add by program name
Be cautious and choose the exact file path(s) for Visual Studio, or disable protection for any application named “devenv.exe”.
Scroll to disable Control Flow Guard (CFG).
You might improve the performance other aspects of Visual Assist in Visual Studio, at least with respect to the effects of tighter security in the FCU, by disabling all 21 program security settings specific to the application.
Apply, and restart your PC.
You can improve performance of all affected applications in the FCU by disabling CFG at the system level:
App & browser control | Exploit protection settings | System Settings
Two bugs in recent updates to Microsoft Windows 10 cause Visual Studio to crash when certain extensions, including Visual Assist, are installed. Microsoft fixed one of the bugs, a broken hook mechanism, in its November 14, 2017, update.
All Windows 10 users with Visual Assist should install the November 14 update, available via Windows Update or via stand-alone packages. Download the stand-alone update from the Windows Update Catalog, accessed from the bottom of the description of the update for Windows 10 Version 1703 or update for Windows 10 Version 1709 Fall Creators Update.
Microsoft acknowledged that the second bug, which causes CreateWindowEx() to fail, exists in Windows 10 (64-bit) Fall Creators Update (Version 1709). The CreateWindowEx bug also causes Visual Studio to crash when Visual Assist is installed. The workaround recommended by Microsoft and by Whole Tomato is to rollback to the previous version of Windows 10. If you do rollback, defer installation of the Fall Creators Update and install the November 14th update.
If you run Windows 10 (64-bit) Fall Creators Update (Version 1709) and you cannot rollback, install Visual Assist build 2238 to mitigate the CreateWindowEx() failures. If Visual Studio continues to crash, disable Visual Assist and wait for another update from Microsoft, mid-December at earliest, before resuming normal use of Visual Assist.
Thank you for your patience as we work around these Windows bugs.
Stay tuned for our next announcement.
The Windows 10 Fall Creators Update (FCU) 1709 contains a bug that causes CreateWindow() and CreateWindowEx() to fail unpredictably. The bug prevents Visual Assist from rendering all components of its UI, and eventually causes Visual Studio to crash.
Microsoft has acknowledged the CreateWindow() bug and is investigating its cause, but the bug will not be fixed—at the earliest—until the December Patch Tuesday. If you want to use Visual Assist until Microsoft releases a fix, defer installation of the Windows 10 Fall Creators Update.
Separately, Microsoft broke Windows hook procedures in Windows 10 Build 15063.608, issued Sept 12th. The hook bug causes Visual Studio to crash intermittently, e.g. when opening certain dialogs of Visual Assist. Microsoft has acknowledged the bug and is scheduled to release a fix on November Patch Tuesday.
Stay tuned for our next announcement regarding the bugs.