Skip to content

Conversation

@TheAngryByrd
Copy link
Member

closes #236, though we need a separate issue to try to contribute this upstream to the SDK.

  • Extend ProjectInfo types to include Analyzers, AllProperties, and AllItems.
  • Implement logic to collect all properties and items during project evaluation.
  • Add a test case for loading a project with NuGet analyzers.
  • Create sample project files for testing F# analyzers.

@TheAngryByrd TheAngryByrd force-pushed the 236-analyzer-discovery branch from 3ee0a7d to 33e7da1 Compare October 4, 2025 23:05
- Extend ProjectInfo types to include Analyzers, AllProperties, and AllItems.
- Implement logic to collect all properties and items during project evaluation.
- Add a test case for loading a project with NuGet analyzers.
- Create sample project files for testing F# analyzers.
@TheAngryByrd TheAngryByrd force-pushed the 236-analyzer-discovery branch from 33e7da1 to 1b2159d Compare October 4, 2025 23:07
@TheAngryByrd TheAngryByrd requested a review from Copilot October 4, 2025 23:11
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for F# analyzers in project evaluation by extending the project loading infrastructure to collect and expose analyzer information from NuGet packages.

  • Extends ProjectInfo types to include Analyzers, AllProperties, and AllItems fields
  • Implements logic to collect all MSBuild properties and items during project evaluation
  • Adds analyzer detection for packages that contain F# analyzers in the standard path structure

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/Ionide.ProjInfo/Types.fs Adds new Analyzer type and extends ProjectOptions with analyzer-related fields
src/Ionide.ProjInfo/Library.fs Implements analyzer detection logic and extends project mapping function
test/Ionide.ProjInfo.Tests/Tests.fs Adds test case for loading projects with NuGet analyzers
test/Ionide.ProjInfo.Tests/TestAssets.fs Defines test asset for sample analyzer project
test/examples/sample15-nuget-analyzers/ Creates sample project files for testing F# analyzers
build/Program.fs Increases test timeout from 60s to 120s

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Discover and return Analyzer packages on project load

1 participant