Skip to content

Instantly share code, notes, and snippets.

View madskristensen's full-sized avatar

Mads Kristensen madskristensen

View GitHub Profile
@madskristensen
madskristensen / SetEditorSettings.cs
Created August 22, 2016 20:47
How to set basic settings to any language in VS
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 / vs-2017-api-samples.md
Last active April 5, 2018 11:25
Links to samples of how to use various APIs in the Visual Studio SDK
@madskristensen
madskristensen / tools.md
Last active May 3, 2018 20:03
Extensibility tools
@madskristensen
madskristensen / KnownMonikersToBitmap.cs
Created September 24, 2015 04:16
Uses the IVsImageService2 to convert a KnownMoniker to BitmapSource
public static BitmapSource GetImage(ImageMoniker moniker, int size)
{
ImageAttributes imageAttributes = new ImageAttributes();
imageAttributes.Flags = (uint)_ImageAttributesFlags.IAF_RequiredFlags;
imageAttributes.ImageType = (uint)_UIImageType.IT_Bitmap;
imageAttributes.Format = (uint)_UIDataFormat.DF_WPF;
imageAttributes.LogicalHeight = size;
imageAttributes.LogicalWidth = size;
imageAttributes.StructSize = Marshal.SizeOf(typeof(ImageAttributes));
@madskristensen
madskristensen / ImportMefComponent.cs
Last active May 3, 2020 07:02
Import MEF components from non-MEF exported classes
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()
@madskristensen
madskristensen / VSIX UIContext
Last active January 15, 2021 00:58
Shows how to add custom UIContexts
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 / RemoveBadgeInVS.ps1
Last active June 25, 2021 15:50
Remove Preview badge in VS
function RemoveBadge {
param ($path)
Write-Host "Looking for PreviewBadge.pkgdef in $path"
$file = Get-ChildItem -Path $path -Include *previewbadge.pkgdef -Recurse
if ($file){
Remove-Item $file
Write-Host "PreviewBadge.pkgdef deleted"
@madskristensen
madskristensen / extensions.vsext
Created June 25, 2021 21:58
My VS2022 extensions
{
"id": "017794d6-b8b4-48ab-88a5-eb696ac07322",
"name": "My Visual Studio extensions",
"description": "A collection of my Visual Studio extensions",
"version": "1.0",
"extensions": [
{
"name": "Add New File",
"vsixId": "2E78AA18-E864-4FBB-B8C8-6186FC865DB3"
},
@madskristensen
madskristensen / devenv.pkgundef
Last active February 21, 2022 13:04
Disable built-in Visual Studio packages
//********************************************************//
// 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