<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Tim Heuer</title>
  <subtitle>The web site and blog of Tim Heuer, Program Manager for .NET</subtitle>
  <link href="https://timheuer.com/blog/feed/atom/" rel="self" type="application/atom+xml" />
  <link href="https://timheuer.com/blog/" rel="alternate" type="text/html" />
  <id>https://timheuer.com/blog/</id>
  <updated>2026-01-28T02:37:10.000Z</updated>
  <author><name>Tim Heuer</name></author>
  
    <entry>
      <title>Another selfish tool–Endpoint for VS Code</title>
      <link href="https://timheuer.com/blog/rest-client-for-vs-code-endpoint-for-vs-code/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/rest-client-for-vs-code-endpoint-for-vs-code/</id>
      <published>2026-01-28T02:37:10.000Z</published>
      <updated>2026-01-28T02:37:10.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>I wanted the simplest UI for managing my REST API validation endpoints and didn&apos;t need a lot of services/fancy stuff...so I (with Copilot) made my own.</summary>
      <category term="copilot" />
      <category term="rest" />
      <category term="api" />
      <category term="vscode" />
    </entry>
    <entry>
      <title>AI in My Developer Workflow: From Prompting to Planning</title>
      <link href="https://timheuer.com/blog/my-ai-copilot-developer-workflow-relies-on-planning/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/my-ai-copilot-developer-workflow-relies-on-planning/</id>
      <published>2026-01-27T17:34:51.000Z</published>
      <updated>2026-01-27T17:37:50.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>How I moved from terse &apos;search prompting&apos; to fully embracing Copilot as a partner and treating it as such with planning in mind.</summary>
      <category term="ai" />
      <category term="llm" />
      <category term="copilot" />
    </entry>
    <entry>
      <title>Adding environment vars to .NET Aspire services</title>
      <link href="https://timheuer.com/blog/add-environment-variables-to-aspire-services/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/add-environment-variables-to-aspire-services/</id>
      <published>2023-11-29T00:49:10.000Z</published>
      <updated>2023-11-29T00:49:10.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Quick tip to add any environment variable to your .NET Aspire service and make the app model aware of it!</summary>
      <category term="dotnet" />
      <category term="aspire" />
    </entry>
    <entry>
      <title>Anatomy of a .NET devcontainer</title>
      <link href="https://timheuer.com/blog/anatomy-of-a-dotnet-devcontainer/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/anatomy-of-a-dotnet-devcontainer/</id>
      <published>2023-10-25T17:40:56.000Z</published>
      <updated>2023-10-25T17:47:10.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Wondering how the new .NET Codespaces environment is configured? Check out the devcontainer definition to learn more and how you can do this too!</summary>
      <category term="dotnet" />
      <category term="codespaces" />
      <category term="github" />
    </entry>
    <entry>
      <title>Monitor your GitHub Actions in Visual Studio</title>
      <link href="https://timheuer.com/blog/github-actions-extension-for-visual-studio/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/github-actions-extension-for-visual-studio/</id>
      <published>2023-08-07T22:59:59.000Z</published>
      <updated>2023-08-07T22:59:59.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Want to manage your GitHub Actions in Visual Studio? Look no further and install this extension today!</summary>
      <category term="dotnet" />
      <category term="github" />
      <category term="devops" />
      <category term="visual studio" />
      <category term="vs" />
    </entry>
    <entry>
      <title>Creating a VS Code editor extension</title>
      <link href="https://timheuer.com/blog/resx-editor-for-visual-studio-code/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/resx-editor-for-visual-studio-code/</id>
      <published>2023-06-30T00:52:27.000Z</published>
      <updated>2023-06-30T00:52:27.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>I created a resx editor to learn how to write VS Code custom editor extensions. Check it out and the code.</summary>
      <category term="vscode" />
      <category term="dotnet" />
      <category term="tools" />
      <category term="developer" />
    </entry>
    <entry>
      <title>Make your VS Code extension more helpful</title>
      <link href="https://timheuer.com/blog/enhance-your-vs-code-extension-listing-easily/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/enhance-your-vs-code-extension-listing-easily/</id>
      <published>2023-06-26T17:14:04.000Z</published>
      <updated>2023-06-26T17:14:04.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Enhance your VS Code extension listing with a few simple additions to your package manifest!</summary>
      <category term="visual studio" />
      <category term="tools" />
      <category term="developer" />
      <category term="vscode" />
    </entry>
    <entry>
      <title>Writing an OpenAI plugin for ChatGPT using ASP.NET Core</title>
      <link href="https://timheuer.com/blog/write-an-open-ai-plugin-for-chatgpt-using-aspnet/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/write-an-open-ai-plugin-for-chatgpt-using-aspnet/</id>
      <published>2023-06-17T16:50:17.000Z</published>
      <updated>2023-06-17T16:50:17.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Unleash the power of your APIs into ChatGPT using ASP.NET Core and Visual Studio to quickly expose and develop an OpenAI ChatGPT plugin. You won&apos;t believe how easy it is!</summary>
      <category term="dotnet" />
      <category term="aspnet" />
      <category term="ai" />
    </entry>
    <entry>
      <title>Contain your excitement for ASP.NET on Azure</title>
      <link href="https://timheuer.com/blog/deploy-dotnet-apps-with-containers-in-visual-studio-fast-and-easy/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/deploy-dotnet-apps-with-containers-in-visual-studio-fast-and-easy/</id>
      <published>2023-01-27T23:14:15.000Z</published>
      <updated>2023-01-27T23:14:15.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Want to quickly deploy .NET apps in containers but don&apos;t know how or want to be complex? Learn about it here!</summary>
      <category term=".net" />
      <category term="dotnet" />
      <category term="devops" />
      <category term="cloud" />
      <category term="azure" />
    </entry>
    <entry>
      <title>GitHub Composite Actions are fast way to templatize workflows</title>
      <link href="https://timheuer.com/blog/use-github-composite-actions-for-templates-in-workflows/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/use-github-composite-actions-for-templates-in-workflows/</id>
      <published>2021-12-17T18:49:16.000Z</published>
      <updated>2021-12-17T18:49:16.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Want to templatize some steps in your workflows? Check out GitHub composite Action run steps!</summary>
      <category term="dotnet" />
      <category term="github" />
      <category term="devops" />
    </entry>
    <entry>
      <title>Limited Edition Custom .NET Cycling Jersey</title>
      <link href="https://timheuer.com/blog/dotnet-cycling-kit/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/dotnet-cycling-kit/</id>
      <published>2021-11-12T22:20:17.000Z</published>
      <updated>2021-11-12T22:20:17.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Be the fastest cyclist out there with your .NET cycling kit - custom, limited, unique.  Store closes soon!</summary>
      <category term=".net" />
      <category term="dotnet" />
    </entry>
    <entry>
      <title>Forcing a failure in GitHub Actions based on a condition</title>
      <link href="https://timheuer.com/blog/manually-force-a-failure-in-github-action-step/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/manually-force-a-failure-in-github-action-step/</id>
      <published>2021-04-30T17:38:58.000Z</published>
      <updated>2021-04-30T17:38:58.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Do you find the need to manually control a failure in a GitHub Actions step? Read this for quick method using a script to do so on a condition!</summary>
      <category term=".net" />
      <category term="dotnet" />
      <category term="github" />
      <category term="devops" />
    </entry>
    <entry>
      <title>Adding approval workflow to your GitHub Action</title>
      <link href="https://timheuer.com/blog/add-approval-workflow-to-github-actions/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/add-approval-workflow-to-github-actions/</id>
      <published>2020-12-16T22:37:24.000Z</published>
      <updated>2020-12-16T22:37:24.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Want to add an approval workflow to your GitHub Action deployment easily?  With new capabilities now you can!</summary>
      <category term="github" />
      <category term="azure" />
      <category term="devops" />
      <category term="dotnet" />
    </entry>
    <entry>
      <title>Using GitHub Actions for Bulk Resolving</title>
      <link href="https://timheuer.com/blog/use-github-actions-for-bulk-resolve-issues/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/use-github-actions-for-bulk-resolve-issues/</id>
      <published>2020-12-16T06:27:06.000Z</published>
      <updated>2020-12-16T06:27:38.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Want a quick way to bulk resolve some issues in your repo? Use GitHub Actions and save time!</summary>
      <category term="github" />
      <category term="devops" />
    </entry>
    <entry>
      <title>Building a Code Analyzer for .NET</title>
      <link href="https://timheuer.com/blog/building-a-code-analyzer-for-net/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/building-a-code-analyzer-for-net/</id>
      <published>2020-12-12T06:31:38.000Z</published>
      <updated>2020-12-12T06:33:15.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Learn with me as I build my first C# Code Analyzer and Code Fix using Visual Studio and the Roslyn SDK!</summary>
      <category term="dotnet" />
      <category term="visual studio" />
      <category term="code analysis" />
      <category term="roslyn" />
    </entry>
    <entry>
      <title>Generate a GitHub Actions workflow file from dotnet CLI</title>
      <link href="https://timheuer.com/blog/generate-github-actions-workflow-from-cli/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/generate-github-actions-workflow-from-cli/</id>
      <published>2020-11-03T18:54:33.000Z</published>
      <updated>2020-11-03T18:54:33.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Generate a GitHub Actions workflow file quickly from the dotnet CLI using this new helper tool.</summary>
      <category term="dotnet" />
      <category term="github" />
      <category term="devops" />
      <category term="workflow" />
    </entry>
    <entry>
      <title>Filtering a Bootstrap table in C# and Blazor</title>
      <link href="https://timheuer.com/blog/filtering-data-table-with-blazor/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/filtering-data-table-with-blazor/</id>
      <published>2020-10-20T00:35:59.000Z</published>
      <updated>2020-10-20T00:37:04.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Need to quickly use a Bootstrap table with Blazor and add a global filter? You won&apos;t believe your eyes!</summary>
      <category term=".net" />
      <category term="blazor" />
      <category term="dotnet" />
      <category term="aspnet" />
      <category term="visual studio" />
    </entry>
    <entry>
      <title>Hosting Blazor WebAssembly in Azure Static Web Apps (Preview)</title>
      <link href="https://timheuer.com/blog/hosting-blazor-in-azure-static-web-apps/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/hosting-blazor-in-azure-static-web-apps/</id>
      <published>2020-05-19T17:37:57.000Z</published>
      <updated>2020-05-20T21:18:57.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>I wanted to see if I could get Blazor Wasm apps in the new Azure Static Web Apps preview service.  Turns out you can...with some caveats :-).</summary>
      <category term="blazor" />
      <category term="aspnet" />
      <category term="github" />
      <category term="devops" />
      <category term="azure" />
    </entry>
    <entry>
      <title>Different ways to host Blazor WebAssembly (Wasm)</title>
      <link href="https://timheuer.com/blog/deploy-blazor-webassembly-applications-on-azure-using-github-actions-wasm/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/deploy-blazor-webassembly-applications-on-azure-using-github-actions-wasm/</id>
      <published>2020-05-12T00:01:36.000Z</published>
      <updated>2020-05-12T00:01:36.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Read this to look at different ways to host/deploy your Blazor WebAssembly client apps on Azure.</summary>
      <category term="blazor" />
      <category term="aspnet" />
      <category term="dotnet" />
      <category term="github" />
      <category term="devops" />
    </entry>
    <entry>
      <title>Skipping CI in GitHub Actions Workflows</title>
      <link href="https://timheuer.com/blog/skipping-ci-github-actions-workflows/" rel="alternate" type="text/html" />
      <id>https://timheuer.com/blog/skipping-ci-github-actions-workflows/</id>
      <published>2020-01-29T20:28:11.000Z</published>
      <updated>2020-01-29T20:28:11.000Z</updated>
      <author><name>Tim Heuer</name></author>
      <summary>Add a snippet to your workflow to enable skipping CI easily from commits.</summary>
      <category term="github" />
      <category term="devops" />
    </entry>
</feed>