-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync XSD "IntelliSense" with VS repo automatically on insertion #5531
Conversation
* Publish a new artifact `xsd` that has the XSDs and * A new script to copy those XSDs to the right place in VS when inserting MSBuild.
@@ -5624,7 +5624,7 @@ elementFormDefault="qualified"> | |||
</xs:complexContent> | |||
</xs:complexType> | |||
</xs:element> | |||
|
|||
<!-- a change made on GitHub that should flow --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I should of course revert this proof that it worked.
src/MSBuild/Update-MSBuildXsds.ps1
Outdated
@@ -0,0 +1,9 @@ | |||
$ErrorActionPreference = 'Stop' | |||
|
|||
cmd /c set |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove
This reverts commit db0ec71.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! (After resolving your comments)
</None> | ||
<None Include="Microsoft.Build.xsd"> | ||
<SubType>Designer</SubType> | ||
<XsdsForVS Include="**\*.xsd" Exclude="$(DefaultItemExcludes);$(DefaultExcludesInProjectFolder)" /> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two "Default exclude" items here, so presumably "DefaultItemExcludes" doesn't include the "DefaultExcludesInProjectFolder". How does one know or find out how many default exclude items there are?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's probably a better way, but I build a project that excludes those, catch it in a debugger, break on the code that handles that in Project.cs
, and inspect what it gets turned into.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm following the SDK's approaches here:
No real way to know other than looking for analogies there that I know of.
As of #5531, the manual XSD sync is no longer required.
As of #5531, the manual XSD sync is no longer required.
We've been manually managing this and naturally forgotten it a few times. That's not cool. Let's let a robot do it.
This requires change to the releases: https://dev.azure.com/devdiv/DevDiv/_releaseProgress?releaseId=749728&_a=release-history but it will be harmless to do this first and then change them.
Example internal PR: https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequest/262150?_a=files