Skip to content

Commit 54574bd

Browse files
authored
feat(blog): add VSIX Manifest Designer extension introduction post (#54)
1 parent 8892e35 commit 54574bd

10 files changed

Lines changed: 76 additions & 157 deletions

File tree

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,7 @@
99
"astro": "astro",
1010
"new": "node scripts/new-post.js",
1111
"cover": "node scripts/generate-cover.js",
12-
"copy-originals": "node scripts/copy-originals.js",
13-
"compress": "node scripts/compress-images.js"
12+
"copy-originals": "node scripts/copy-originals.js"
1413
},
1514
"dependencies": {
1615
"@astrojs/rss": "^4.0.14",

scripts/compress-images.js

Lines changed: 0 additions & 155 deletions
This file was deleted.
66.4 KB
Loading
64.5 KB
Loading
517 KB
Loading
65.2 KB
Loading
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
---
2+
title: "Introducing the 'VSIX Manifest Designer' Visual Studio Extension"
3+
date: "2026-01-29T12:00:00-05:00"
4+
categories: [dotnet, csharp, extensibility, visualstudio]
5+
description: "Tired of editing raw XML in your VSIX manifest files? Me too. So I built a modern, visual designer that integrates seamlessly with Visual Studio 2022 and 2026."
6+
subtitle: "A modern designer for extension developers!"
7+
---
8+
9+
I'll be honest - I've been building Visual Studio extensions for years now, and one thing that has always bugged me is editing the `source.extension.vsixmanifest` file. Sure, Visual Studio has a built-in designer, but let's just say it hasn't aged gracefully. It feels clunky, looks outdated, and doesn't play nice with modern SDK-style VSIX projects (like the ones you can create with [VsixSdk](https://www.codingwithcalvin.net/sdk-style-projects-for-your-visual-studio-extensions/)).
10+
11+
So, I did what any reasonable developer would do - I built my own.
12+
13+
Introducing "[VSIX Manifest Designer](https://marketplace.visualstudio.com/items?itemName=CodingWithCalvin.VS-VsixManifestDesigner)", an extension for Visual Studio 2022 and 2026 that provides a clean, modern, WPF-based designer for your VSIX manifest files. It seamlessly integrates with Visual Studio's Light, Dark, and Blue themes, and has first-class support for SDK-style VSIX projects.
14+
15+
## What Does It Do?
16+
17+
When you open a `source.extension.vsixmanifest` file, instead of getting the ancient built-in designer (or worse, raw XML), you get a clean sidebar-based interface with six sections to manage every aspect of your extension's manifest.
18+
19+
### Metadata
20+
21+
This is where you configure the core identity of your extension - things like the ID, version, publisher, display name, and description. You can also set up your icon, preview image, tags, license, getting started guide, release notes, and more.
22+
23+
![Metadata View](./metadata.png)
24+
25+
### Installation Targets
26+
27+
Here you define which versions of Visual Studio your extension supports. You can specify target IDs (like `Microsoft.VisualStudio.Community`), version ranges, and even target specific architectures (AMD64, ARM64).
28+
29+
![Installation Targets View](./install-targets.png)
30+
31+
### Dependencies
32+
33+
If your extension depends on other extensions, this is where you configure those relationships. You can add dependencies manually, reference installed extensions, or even point to project references for SDK-style projects.
34+
35+
![Dependencies View](./dependencies.png)
36+
37+
### Prerequisites
38+
39+
Prerequisites define the Visual Studio components that must be installed for your extension to work. Think of things like the .NET desktop development workload or specific SDK components.
40+
41+
![Prerequisites View](./prerequisites.png)
42+
43+
### Assets
44+
45+
This is probably the section you'll use the most. Assets are the actual "stuff" your extension includes - things like your VsPackage, MEF components, analyzers, CodeLens providers, project templates, item templates, and more. The designer provides smart configuration based on the asset type you select, and includes a project picker for SDK-style projects.
46+
47+
![Assets View](./assets.png)
48+
49+
### Content
50+
51+
If you're building project or item templates, this section lets you configure the template declarations that tie your template assets together.
52+
53+
![Content View](./content.png)
54+
55+
## VsixSdk Integration
56+
57+
One thing I'm particularly proud of is the deep integration with [VsixSdk](https://www.nuget.org/packages/CodingWithCalvin.VsixSdk). If you're using SDK-style projects for your extension development (and you should be!), the designer automatically detects this and provides smart project enumeration, automatic project reference handling for assets and dependencies, and proper template asset path validation.
58+
59+
## Theme Support
60+
61+
I put a lot of effort into making sure this designer looks and feels like a native part of Visual Studio. All the UI controls use dynamic theme brushes via `VsBrushes` and `VsColors`, so whether you're a Light mode person, a Dark mode person, or one of those Blue theme people (no judgment), it'll look right at home.
62+
63+
## A Few Caveats
64+
65+
This is the first release, and while I've been using it myself for a while now, I'm sure there are edge cases I haven't hit yet. If you run into any issues or have suggestions for improvements, please let me know!
66+
67+
## Wrapping Up
68+
69+
If you're building Visual Studio extensions and you're tired of wrestling with the built-in manifest designer (or raw XML), give this a shot. It's designed to make your life easier, and it's built by someone who actually uses it every day.
70+
71+
Feel free to check it out, and let me know if you have any suggestions for it - I realize it could seem like its "done", but you never know what ideas folks might have!
72+
73+
And, of course, [it's open source](https://github.com/CodingWithCalvin/VS-VsixManifestDesigner), so feel free to peruse the source code, create issues, and have discussions on ways we can make this tool even better. PRs accepted, too, if you're into that sort of thing 😉.
74+
75+
Thanks for reading, friends!
68.2 KB
Loading
81.5 KB
Loading
67.2 KB
Loading

0 commit comments

Comments
 (0)