Defer installation of the Fall Creators Update to avoid crashes in Visual Studio

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.

Visit our discussion forums or contact us if you have questions or need technical support.

Stay tuned for our next announcement regarding the bugs.

Recent updates to Microsoft Windows 10 cause Visual Studio to crash

Several bugs in recent updates to Microsoft Windows 10 cause Visual Studio to crash when certain extensions, including Visual Assist, are installed:

  1. Windows 10 Build 15063.608, issued Sept 12th, broke Windows hook procedures located in high memory.
  2. Windows Version 1709 (Fall Creators Update), released Oct 17th, broke also CreateWindow() and CreateWindowEx().

Microsoft is actively seeking resolutions. Fixes should be released on a Patch Tuesday.

If you run Windows 10, and:

  1. You want to try Visual Assist, wait for the problems to be resolved before starting your trial.
  2. You use Visual Assist, you have not yet installed the Fall Creators Update, and:
    • Visual Studio crashes when you open dialogs of Visual Assist, disable Visual Assist. You are likely suffering from the broken hook mechanism.
    • Visual Studio does not crash, keep your version of Windows, i.e. delay installation of the Fall Creators Update.
  3. You use Visual Assist, you installed the Fall Creators Update, and components of the Visual Assist UI fail or Visual Studio crashes, disable Visual Assist or try rolling back to the previous version of Windows. You are likely suffering from CreateWindow() failures.

Visit our discussion forums or contact us if you have questions or need technical support.

Stay tuned for our next announcement regarding the recent Windows 10 updates.

Visit Us at GDC 2017 in San Francisco

gdc

The Tomato will exhibit at the Game Developer Conference next week, March 1-3, in San Francisco. If you will attend the show, be sure to stop by booth 2438 and say hello. Get a peek at new and forthcoming features in Visual Assist, share with us your wish list, and introduce Visual Assist to your coworkers. We will have swag on hand.

Visual Assist does not yet support Visual Studio “15” Preview 5

Microsoft announced today the Preview 5 release of Visual Studio “15”. The Visual C++ Project Engine changed between Preview 4 and 5, and the change prevents Visual Assist from loading solutions. The developers at Whole Tomato Software are working on a resolution.

If you use Visual Assist in Visual Studio “15”, stay with the Preview you have or update and wait for our next build. The next build of Visual Assist will add support for Preview 5 and nothing else.

Stay tuned to the usual channels.

Visit Us at the Build 2016 conference in San Francisco

build-2016-logo

If you will attend Build 2016 in San Francisco this week, be sure to stop by our booth and say hello. Whole Tomato will demonstrate Visual Assist at the conference in an area dedicated to Visual Studio partners. We will have technical people on hand to answer questions about Visual Assist, walk through specific features, and listen to your wish lists. We will have a few giveaways as well.

Compatibility of Visual Assist with Releases of an IDE

A few days ago, Microsoft announced the release candidate (RC) of Visual Studio 2015 Update 2. If you are a user of Visual Assist in this newest Microsoft IDE, any build of Visual Assist beginning with 2073 should work for you. I write “should” because builds of Visual Assist made before the RC, for obvious reasons, have not been tested against the RC. (We can’t test what we don’t have.)

Builds of Visual Assist usually install to a particular IDE if you have any flavor of it: beta, RC, or RTM. Only when we announce full support for a flavor are you assured we have successfully run our full suite of tests against it. And, only then should you expect complete compatibility between Visual Assist and your IDE.

Visual Assist install dialog

As for timing, we don’t synchronize our builds and those of Microsoft. But because we issue six or seven builds of Visual Assist a year, one is destined to ship not long after every Microsoft release. That said, the next build we ship may or may not fully support the Microsoft release. Before tackling full support, we consider the readiness of our next build at the time of Microsoft announcement, the scope of delay to provide full support, the assumed quality of Microsoft’s release, and the estimated shelf-life of that release.

We give top priority to Microsoft RTM releases; the build of Visual Assist that follows an RTM almost always fully supports it. Other Microsoft releases are usually rolled into our normal development cycle, and they are also the releases that require the most development time.

We are already aware of two conflicts between the release candidate of Visual Studio 2015 Update 2 and Visual Assist build 2089, our latest. We expect to address these in our next build:

  1. line breaks are doubled during in-line expansion of VA Snippets. The behavior is likely due to a bug in Update 2. For now, don’t use your affected VA Snippets or edit expanded code.
  2. a new feature for C# users in Update 2 inserts * at the start of new lines when writing /**/ comments. That feature conflicts with the more powerful “Auto-extend Multi-line Comments” feature in Visual Assist. For now, disable one or the other.

If you subscribe to any of our social channels, you will learn about our builds and the IDE flavors they support. If you are ahead of us, meaning you use Visual Assist in a flavor of an IDE that Visual Assist does not yet fully support, we ask that you report incompatibilities between Visual Assist and your IDE. Your reports help us attain full support.

A Developer of Visual Assist Saves Energy

I am a long-time member of the development team for Visual Assist. I also read a lot, often about the workings of the brain.

I read recently Thinking, Fast and Slow by Daniel Kahneman. The author divides thinking methods into fast and slow. Fast is automatic; slow requires effort. Fast occurs when you drive a car on an empty road; you have capacity to think about something else. Slow occurs when you multiply 43×15 in your head.

“As you become skilled in a task, its demand for energy diminishes,” writes Mr. Kahneman. “Studies of the brain have shown that the pattern of activity associated with an action changes as skill increases, with fewer brain regions involved.”

The author goes on to write, “a general law of least effort applies to cognitive as well as physical exertion. The law asserts that if there are several ways of achieving the same goal, people will eventually gravitate to the least demanding course of action. In the economy of action, effort is a cost, and the acquisition of skill is driven by the balance of benefits and costs. Laziness is built deep into our nature.”

Fair point: I often prefer to be lazy—when I think and when I exert myself physically.

“But, why do I write about brain matters in a blog about Visual Assist?” you ask. I write because Mr. Kahneman’s assertion might articulate—in nerd speak—the deep reason I like Visual Assist.

Take the following scenario of simple code generation: flushing out case statements for a switch on an enum. I have completed this scenario so often it now requires only fast thinking. I go to an enum declaration using Alt+G, select its cases, copy-paste them into my switch body, and execute a couple of tricks like search and replace, block select to insert “case” before each enum item, and finish the task.

I suspect you invent your own steps for the code-editing scenarios you tackle repeatedly. Your slow-thinking tasks become fast-thinking ones with repetition. The tasks become mundane. You are driving a car on an empty road.

When I find myself in such a state of “driving”, I have capacity to think about Visual Assist. I often wonder if I can give my mundane, fast-thinking task entirely to Visual Assist. I wonder if I can get more lazy.

As a developer of Visual Assist, I have the luxury of implementing features in Visual Assist to pursue the laziness that Mr. Kahneman says is deep in my nature.

And as a user of Visual Assist, I take advantage of the product’s many features because they provide the least demanding courses of action. Visual Assist lets me conserve my energy.

I am hooked on creating Visual Assist, and hooked on using it.

Look for Add Missing Case Statements in the next build of Visual Assist.