Add documentation project to Visual Studio solution#37
Merged
Conversation
Introduce FirstClassErrors.Documentation, a non-compiling project that globs doc/**/*.md so every English (*.en.md) and French (*.fr.md) documentation page, including the analyzer pages under doc/analyzers, shows up in the Visual Studio Solution Explorer and can be read and edited next to the code. New documentation files are picked up automatically by the glob, with no need to touch the project or the solution. The project compiles nothing (EnableDefaultItems=false) and produces no assembly (IncludeBuildOutput=false). It is also excluded from the solution build configurations (no Build.0 entries), so both `dotnet build FirstClassErrors.sln` and "Build Solution" in Visual Studio skip it. No new dependency is introduced. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MykuaQS64zUdvmqcmW2C3N
Broaden the documentation project globs so image assets referenced by the Markdown pages (e.g. doc/images/first-class-errors.png) also show up in the Visual Studio Solution Explorer, next to the *.md pages. Common image extensions are covered so future assets are picked up automatically. The project still compiles nothing and stays excluded from the solution build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MykuaQS64zUdvmqcmW2C3N
Replace the per-extension globs with a single include that surfaces every file under doc/ (Markdown pages, images and any future asset) in the Visual Studio Solution Explorer, excluding only the build artifacts (obj/, bin/) and the project file itself. This keeps the documentation view complete without having to enumerate file types. The project still compiles nothing and stays excluded from the solution build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MykuaQS64zUdvmqcmW2C3N
Move the main README.md from the "Solution Items" solution folder into the FirstClassErrors.Documentation project, referenced as a linked file (..\README.md with Link metadata) since it lives at the repository root, outside doc/, and cannot be reached by the project glob. This keeps all the documentation entry points grouped under a single project in the Solution Explorer. The .gitignore and LICENSE entries stay in Solution Items. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MykuaQS64zUdvmqcmW2C3N
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a documentation-only C# project to the Visual Studio solution that surfaces all documentation files (Markdown pages, images, and assets) in the Solution Explorer, making them easy to find, read, and edit alongside the code.
Type of change
Changes
Created
doc/FirstClassErrors.Documentation.csproj: a documentation-only project that:doc/(Markdown pages, images, and other assets) via a glob patternREADME.mdfor browsability from the projectUpdated
FirstClassErrors.sln:README.mdfrom the "Solution Items" sectionFirstClassErrors.DocumentationprojectTesting
dotnet build FirstClassErrors.sln— not run (documentation project is excluded from build)dotnet test FirstClassErrors.sln— not run (no tests affected)Documentation
Related issues