Skip to content

Instantly share code, notes, and snippets.

Mads Kristensen madskristensen

Block or report user

Report or block madskristensen

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@madskristensen
madskristensen / tools.md
Last active May 3, 2018
Extensibility tools
View tools.md
@madskristensen
madskristensen / VSIX-Checklist.md
Last active Oct 24, 2019
VS extension checklist
View VSIX-Checklist.md

Visual Studio Extensibility Checklist

Here is a list of things to make sure to remember before publishing your Visual Studio extension.

Adhere to threading rules

Add the Microsoft.VisualStudio.SDK.Analyzers NuGet package to your VSIX project, which will help you discover and fix common violations of best practices regarding threading.

Add high-quality icon

All extensions should have an icon associated with it. Make sure the icon is a high-quality .png file with the size 128x128 pixels in 96 DPI or more. After adding the icon to your VSIX project, register it in the .vsixmanifest file as both the Icon and Preview image.

Name and description

@madskristensen
madskristensen / vs-2017-api-samples.md
Last active Apr 5, 2018
Links to samples of how to use various APIs in the Visual Studio SDK
View vs-2017-api-samples.md
@madskristensen
madskristensen / _Layout.cshtml
Last active May 17, 2018
Social sharing buttons for ASP.NET Core
View _Layout.cshtml
<!-- Render the partial -->
@{await Html.RenderPartialAsync("_SocialSharing", ViewData["Title"]);}
@madskristensen
madskristensen / ETagMiddleware.cs
Last active Oct 23, 2019
ASP.NET Core ETAg middleware
View ETagMiddleware.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.WebUtilities;
using Microsoft.Net.Http.Headers;
using System.IO;
using System.Security.Cryptography;
using System.Threading.Tasks;
public class ETagMiddleware
{
@madskristensen
madskristensen / SetEditorSettings.cs
Created Aug 22, 2016
How to set basic settings to any language in VS
View SetEditorSettings.cs
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.Text.Editor;
using Microsoft.VisualStudio.Utilities;
namespace YamlSpacesFix
{
[Export(typeof(IWpfTextViewCreationListener))]
[ContentType(ContentType)]
[TextViewRole(PredefinedTextViewRoles.PrimaryDocument)]
public class YamlCreationListener : IWpfTextViewCreationListener
@madskristensen
madskristensen / VSIX UIContext
Last active Mar 24, 2019
Shows how to add custom UIContexts
View VSIX UIContext
On the package
[ProvideAutoLoad(UIContexts.LoadContext)]
[ProvideUIContextRule(UIContexts.LoadContext,
"RightFileTypeOpen",
"(CSharpFileOpen | VBFileOpen)",
new[] { "CSharpFileOpen", "VBFileOpen" },
new[] { "ActiveEditorContentType:CSharp", "ActiveEditorContentType:Basic" })]
In the VSCT
@madskristensen
madskristensen / devenv.pkgundef
Last active Jul 4, 2019
Disable built-in Visual Studio packages
View devenv.pkgundef
//********************************************************//
// HOW TO:
// Create a file called devenv.pkgundef in the same directory as devenv.exe.
// It's usually located at C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
// Then call "devenv.exe /updateconfiguration" from an elevated command prompt.
// REMARKS:
// Each GUID below represent a package that Visual Studio is loading. This is the
// list of package that I personally don't ever use. You can modify the list of
@madskristensen
madskristensen / ImportMefComponent.cs
Last active Apr 30, 2019
Import MEF components from non-MEF exported classes
View ImportMefComponent.cs
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.Shell;
using Microsoft.VisualStudio.Shell.TableManager;
public class ExtensionPackage : Package
{
[Import]
private ITableManagerProvider _tableManagerProvider;
protected override void Initialize()
You can’t perform that action at this time.