Skip to content

Conversation

@CalvinAllen
Copy link
Contributor

Summary

  • Automatically injects <Content><ProjectTemplate/> and <Content><ItemTemplate/> entries into the vsixmanifest when templates are discovered
  • Eliminates the need for manual manifest edits when using templates
  • Adds custom MSBuild task (InjectVsixManifestContentTask) for proper XML DOM manipulation with namespace handling
  • Writes to intermediate manifest (obj folder) to avoid modifying source files
  • Enabled by default via AutoInjectVsixTemplateContent property (can be disabled with <AutoInjectVsixTemplateContent>false</AutoInjectVsixTemplateContent>)

Test plan

  • Build Tasks project
  • Build SDK package
  • Build E2E.Templates.AutoInject test (manifest without Content section)
  • Verify intermediate manifest contains injected Content entries
  • Verify source manifest unchanged
  • Verify VSIX contains templates
  • Verify existing E2E.Templates.AutoDiscovery still works
  • Verify existing E2E.Templates.Reference still works

Closes #40

Automatically inject <Content><ProjectTemplate/> and <Content><ItemTemplate/>
entries into the vsixmanifest when templates are discovered, eliminating
the need for manual manifest edits.

- Add custom MSBuild task (InjectVsixManifestContentTask) that properly
  parses and modifies the XML manifest
- Write to intermediate manifest (obj folder) to avoid modifying source
- Enable by default via AutoInjectVsixTemplateContent property
- Skip existing WarnMissingManifestContent warnings when auto-injection
  is enabled
- Add E2E test to verify auto-injection works correctly

Closes #40
@CalvinAllen CalvinAllen merged commit 48da9ae into main Jan 8, 2026
3 checks passed
@CalvinAllen CalvinAllen deleted the feat/sdk/auto-inject-manifest-content branch January 8, 2026 15:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

feat(sdk): auto-inject Content entries into vsixmanifest

2 participants