Sam's Blog

Archive for the 'Programming' Category

20 Oct

ANTLR integration in Visual Studio

I put up a tech preview of the tool I wrote to help with my language services development. It’s a basic ANTLR v3 language service that integrates into Visual Studio 2005 and/or 2008. While it doesn’t have the feature set of, say, ANTLRworks, it’s still proven extremely useful for my development tasks. If you are […]

19 Oct

ManagedMyC: Type and member dropdown bars

This is part 4 of [many?] posts about creating an ANTLR-based language service for Visual Studio. Now that we have an AST with information about the top-level members in our source files, we can use the tree parser to gather this information and make it available for the dropdown bars. For now, the MyC language […]

18 Oct

ManagedMyC: Intro to building an AST

This is part 3 of [many?] posts about creating an ANTLR-based language service for Visual Studio. Sure a scanner and parser are cool, and syntax highlighting is nice. But the real power in the Visual Studio language services comes in their IntelliSense abilities, and supporting those effectively requires building and processing an AST. In this […]

17 Oct

ManagedMyC: Code folding for functions

This is part 2 of [many?] posts about creating an ANTLR-based language service for Visual Studio. Since this is a near-trivial feature to add based on the code in my previous post, I’ll go ahead and get it in tonight. We want to fold from the opening { to the closing } of a function, […]

16 Oct

Custom Visual Studio language services: ManagedMyC meets ANTLR

As some of you know (ok probably not many of you), I’m the author behind Pixel Mine nFringe, a custom language service framework that we used to provide UnrealScript editing & debugging features in Visual Studio 2005 and 2008. To date, I’ve written 2 full language services with it (UnrealScript and Antlr v3) and toyed […]

07 Oct

Custom Visual Studio language services: Tracking recently used items in autocompletion lists

The C# language service has the great feature of remembering recently used items in the completion lists (auto-complete, complete word, member select, etc.). You can add a similar ability to your language service by deriving your Declarations-derived class from MruDeclarations instead of Declarations.

07 Oct

Custom Visual Studio language services: Advanced commenting features

The default line/block commenting/uncommenting implementation in the Managed Package Framework is … well, lacking. When line comments are available, it always uses them, and it always inserts the comments at the beginning of the line. I came up with a better (IMO of course) set of rules to determine whether block comments or line comments […]

11 Oct

Multi-processor building in Visual Studio 2005

Today I learned about a very interesting (undocumented) compiler flag in Visual Studio 2005. With the simple addition of /MP to the C++ Additional Options for your project, the compiler will take advantage of multiple processors. Obviously you need a multi-processor machine for this to work. So how much difference are we talking? The project […]

30 Mar

Building a simple Launchy clone in WPF (Part 3/3: Tying things together)

This part is all about some finishing touches. At this point I’ll assume you’ve finished Part 1 and Part 2, so we’ll go ahead and dive right in!

30 Mar

Building a simple Launchy clone in WPF (Part 2/3: Visual Studio)

This is the second part of my tutorial on making a minimalistic clone of Launchy. I’ll assume you’ve finished Part 1. If you haven’t you might want to check it out since this part builds on it.

© 2018 Sam's Blog | Entries (RSS) and Comments (RSS)

Your Index Web Directorywordpress logo