-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Description
depends on #93
Description
Add IntelliSense support for the VersionOverride attribute on PackageReference elements when using NuGet's Central Package Management (CPM) feature.
Background
Central Package Management allows managing package versions centrally in a Directory.Packages.props file. The VersionOverride attribute enables individual projects to override the centrally-defined version for specific packages:
<!-- Directory.Packages.props -->
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="PackageA" Version="1.0.0" />
</ItemGroup>
</Project><!-- Project.csproj -->
<Project Sdk="Microsoft.NET.Sdk">
<ItemGroup>
<!-- Override the centrally-defined version -->
<PackageReference Include="PackageA" VersionOverride="3.0.0" />
</ItemGroup>
</Project>Proposed Changes
-
Update PackageReferenceCompletionProvider
- Add
VersionOverrideas a supported attribute alongsideVersion - Provide package version completions for
VersionOverrideattribute values - Update attribute completion logic in
HandlePackageReferenceAttributeCompletion
- Add
-
Add completion snippets
- Consider adding a CPM-specific
PackageReferencesnippet that includesVersionOverride - Update existing element completion snippets
- Consider adding a CPM-specific
-
Add help/documentation
- Update
help/items.jsonto includeVersionOverridemetadata forPackageReference - Include description explaining it's used in CPM scenarios
- Note that it requires
CentralPackageVersionOverrideEnabled(enabled by default)
- Update
-
Add tests
- Test completion for
VersionOverrideattribute - Test package version suggestions for
VersionOverridevalues - Add test fixtures with CPM enabled (
Directory.Packages.props)
- Test completion for
-
Update documentation
- Document the new VersionOverride support in README or docs
- Add examples showing IntelliSense for VersionOverride
References
- Microsoft Docs: Central Package Management - Overriding Package Versions
- Feature introduced in NuGet 6.2+
- Can be disabled via
CentralPackageVersionOverrideEnabled=false
Acceptance Criteria
- IntelliSense suggests
VersionOverrideas an attribute onPackageReferenceelements - Package version completions appear when typing
VersionOverride=" - Both
VersionandVersionOverrideattributes are supported - Help text/documentation explains when to use
VersionOverride - Tests verify the completion behavior
- Documentation is updated with examples
tintoy
Metadata
Metadata
Assignees
Labels
No labels