Skip to content

Instantly share code, notes, and snippets.

View timheuer's full-sized avatar
🚴‍♂️
https://twitter.com/timheuer

Tim Heuer timheuer

🚴‍♂️
https://twitter.com/timheuer
View GitHub Profile
@timheuer
timheuer / vscode-issue-reporter.md
Last active July 22, 2025 20:10
Additional Extension Data for VS Code Issue Reporter

Implementing Issue Reporter Functionality in a VS Code Extension

This guide explains how to add an issue reporter feature to your VS Code extension, allowing users to easily report issues with relevant log output attached. It covers command registration, menu contributions, and the command callback implementation, with code snippets for each step.

NOTE: This example uses logTester as the extension name, but this would be your extension id.

1. Command Registration

Add a new command to your extension's package.json to register the issue reporter command:

@timheuer
timheuer / .editorconfig
Created May 21, 2025 00:48
Unused variables
# Unused local variable settings
dotnet_diagnostic.IDE0059.severity = error
dotnet_diagnostic.CS0168.severity = error
dotnet_diagnostic.CS0219.severity = error
@timheuer
timheuer / mcp-server-config.json
Last active August 17, 2025 18:33
MCP Server Config JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://json.schemastore.org/mcp-config-0.1.0.json",
"title": "MCP Servers Configuration",
"description": "Configuration schema for MCP (Model Context Protocol) servers",
"type": "object",
"required": ["servers"],
"additionalProperties": false,
"properties": {
"inputs": {
@timheuer
timheuer / copilot-instructions.md
Created April 10, 2025 23:58
copilot-instructions for C#

GitHub Copilot Instructions

Prefer C# 12 and 13 Language Features

Primary Constructors

Use primary constructors to simplify your class and struct definitions.

public class Person(string name, int age) {
    public void Deconstruct(out string name, out int age) => (name, age) = (this.name, this.age);
@timheuer
timheuer / .filenesting.json
Created March 26, 2025 05:00
file nesting rules for vs
{
"root":true,
"dependentFileProviders":{
"add":{
"addedExtension":{},
"pathSegment":{"add":{".*":[".js",".css",".html",".htm",".less",".scss",".coffee",".iced",".config",".cs",".vb",".json"]}},
"extensionToExtension":{
"add":{
".js":[".coffee",".iced",".ts",".tsx",".jsx"],
".css":[".less",".scss",".sass",".styl"],
@timheuer
timheuer / consoleoutput.md
Created March 7, 2025 16:38
Default console output

Console Output

There are 3 ways console output can be displayed in VS Code. These are explained here: https://code.visualstudio.com/docs/csharp/debugger-settings#_console-terminal-window

Below are example outputs using a standard .NET Console app with some Hello World WriteLine statements and ending in a ReadLine

What do you like and want to be the default.

integratedConsole (current default)

Uses the Debug Console in VS Code

@timheuer
timheuer / devcontainer.json
Created February 13, 2025 18:56
.NET 10 Devcontainer
{
"name": ".NET 10 SDK",
"image": "mcr.microsoft.com/dotnet/nightly/sdk:10.0-preview",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/common-utils:2": {},
"ghcr.io/devcontainers/features/powershell:1": {
"version": "latest"
},
"ghcr.io/azure/azure-dev/azd:0": {
@timheuer
timheuer / whoport.ps1
Created August 23, 2024 23:54
find the process info for who is owning a port
# Find out what is running on a port
# used like `whoport 22112`
function whoport
{
param
(
[int] $port
)
Get-Process -Id (Get-NetTCPConnection -LocalPort $port).OwningProcess
}
@timheuer
timheuer / devcontainer.json
Created August 20, 2024 21:09
devcontainer-net9
{
"name": ".NET 9 SDK",
"image": "mcr.microsoft.com/dotnet/sdk:9.0-preview",
"features": {
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
"ghcr.io/devcontainers/features/common-utils:2": {},
"ghcr.io/devcontainers/features/powershell:1": {
"version": "latest"
},
"ghcr.io/azure/azure-dev/azd:0": {
env CHANNEL='development' COMMIT='$( git rev-parse --short HEAD )' DIST_DIR='dist' GO="${GO:-go}" GOAMD64="v1" GOPROXY='https://goproxy.cn|https://proxy.golang.org|direct' GOSUMDB='sum.golang.google.cn' GOTOOLCHAIN='go1.22.4' GPG_KEY='[email protected]' GPG_KEY_PASSPHRASE='not-a-real-password' PATH="${PWD}/bin:$( "${GO:-go}" env GOPATH )/bin:${PATH}" RACE='0' SIGN='1' NEXTAPI='0' VERBOSE="${VERBOSE:-0}" VERSION='v0.0.0' "/bin/sh" ./scripts/make/go-deps.sh
: not foundake/go-deps.sh: 2:
: not foundake/go-deps.sh: 7:
: bad variable nameeps.sh: 9: readonly: verbose
make: *** [Makefile:106: go-deps] Error 2