dotnet / dotnet/project-system

Implement IExtenderCATIDProvider for F#

Open
#3,561 2 comments 0 reactions 1 assignee Claimed by @TIHan View on GitHub
Area-F# Parity-Legacy-API Parity-Legacy-Feature Triage-Approved
Dominant language
C#
Stars
1k
Forks
415
PR merge metrics
No merged PRs in 30d

Description

We need to implement IExtenderCATIDProvider for F# for any properties extenders, which is a little harder than it was for C#/VB.

1) F# uses the runtime generated GUIDs of nodes which need to manually figured out: https://github.com/Microsoft/visualfsharp/blob/20b6f6b62f6911006bc37449ef52c3cbe8090fc0/vsintegration/src/FSharp.ProjectSystem.FSharp/Project.fs#L414. We should then change that project system to hardcode them so that we can guarantee they never change.

2) F# returns different values for VSHPROPID_ExtObjectCATID and VSHPROPID_BrowseObjectCATID based on the item ID passed in via IVsHierarchy.GetProperty. IExtenderCATIDProvider does not currently represent that.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.