Visual Studio Text Adornment VSIX using Roslyn

A VSIX is a way to install plugins into Visual Studio. The kind of plugin I’m interested in right now is a text adornment. This lets you superimpose things (text, pictures, interactive controls) right on top of a code editor window. It took me a frustrating day figuring out how to get started. This post is…

2

Manifesto: a new fluid UI for desktop/LOB data-entry

I’m fed up with clunky dialog-based UIs.   Here are two apps, the Windows 7 Calculator and Windows 10 People App. How many of you use Calculator by clicking on buttons with the mouse? And how many do free-form typing with the keyboard? answer: everyone prefers the keyboard. I think that free-form typing is the Holy Grail of LOB…

10

Async workflow [how to hibernate async methods, part 2]

Four years ago I’d written a post “How to hibernate async methods (how to serialize a task)“. I decided to dig it up and improve it. Here’s what I can now write with it: await AlphaAsync().RunWithCheckpointing(“a.json”); // This kicks off the async method. But it allows the async method to // serialize its state to…

8

OpenCV: first version up on NuGet

I got OpenCV to work via NuGet! Here are the steps to consume it:   1. File > New > C++ > UWP   2. References > Manage NuGet References > Add OpenCV.UWP.native.imgcodecs This package is currently in pre-release, so it only shows up if you check the “Include Pre-release” checkbox. It brings in two…

17

PlatformSpecific.Analayzer – to spot when you’re using platform-specific UWP APIs

With the release of 10586, I’ve wanted to know whether an API I just used was newly introduced in 10586 or was already present back in 10240. So what I did is write a “Roslyn Analyzer” for VB/C# and put it on NuGet. It detects whether an API I’ve used is platform-specific or version-specific. If…

1

OpenCV: how to split it up into components

[This article documents my ongoing attempts to get OpenCV working in UWP apps]   My goal is to figure out how to package OpenCV up into several individual NuGet packages. For instance, I expect that these files would all be packaged together into a single “OpenCV.native.flann” package. The question is, which other similar NuGet packages…

1

OpenCV: building UWP binaries

[This blog article documents my continuing mission to figure out how to use OpenCV in UWP apps…]   How to build OpenCV native dlls for UWP  OpenCV is on GitHub. There are three relevant forks/branches, as of writing on November 2015:    [1] https://github.com/itseez/opencv      +- [2] fork https://github.com/Microsoft/opencv           +- [3] branch https://github.com/Microsoft/opencv/tree/vs2015-samples Repository [1] is…

6

OpenCV: unsure how to proceed

OpenCV http://opencv.org/ is the standard open-source library that everyone uses for image detection. It’s written in C++. I want to use it from my .NET UWP apps, but I’m struggling to figure out how. If anyone has solid guidance on how to proceed, I’d love to know! This blog post is just a documentation of…

3

How to call UWP APIs from a desktop VB/C# app

Latest update: I’ve put this functionality into a NuGet package. To use UWP APIs from your >=.NET45 desktop app, simply add a NuGet reference: UWP for Desktop NuGet package   I’ve also moved the technical information from this blog over to the package’s GitHub project site: UWP for Desktop GitHub project page   Out of date: first steps Add…

5

Writing a NuGet package for VS2015 RTM [repost]

There are some exciting changes coming to NuGet in VS2015 RTM, under the name NuGet 3.1, also known as “project.json“. You should read about them on the NuGet team blog [link]. How should you prepare for this as a NuGet package author? This article explains.   Disclaimer: I’m not on the NuGet team, and this…

8