Skip to content

Delete the DiagnosticsToolWindow - #85152

Merged
jasonmalinowski merged 1 commit into
dotnet:mainfrom
jasonmalinowski:remove-diagnostics-window-vsix
Sep 8, 2026
Merged

Delete the DiagnosticsToolWindow#85152
jasonmalinowski merged 1 commit into
dotnet:mainfrom
jasonmalinowski:remove-diagnostics-window-vsix

Conversation

@jasonmalinowski

@jasonmalinowski jasonmalinowski commented Sep 3, 2026

Copy link
Copy Markdown
Member

Nobody on the team has used this in awhile, so we can just delete it.

Microsoft Reviewers: Open in CodeFlow

@jasonmalinowski jasonmalinowski self-assigned this Sep 3, 2026
Copilot AI lite review requested due to automatic review settings September 3, 2026 20:16
@jasonmalinowski
jasonmalinowski requested review from a team as code owners September 3, 2026 20:16
@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
Successfully started running 2 pipeline(s).
There may be pipelines that require an authorized user to comment /azp run to run.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The deleted VSIX/tooling appears fully unwired (no remaining references found), and the remaining remote telemetry path still cleanly initializes sessions via InitializeTelemetrySessionAsync.

Review tier: Lite
Findings: None

What changed in this PR

This PR removes the Visual Studio “Roslyn Diagnostics” tool window/VSIX (and its supporting options pages, UI, resources, and localization), along with the associated remote-process logging enablement API that existed specifically to support those diagnostics surfaces.

Changes:

  • Deleted the Roslyn.VisualStudio.DiagnosticsWindow VSIX project and all related UI/resources/localization content.
  • Removed IRemoteProcessTelemetryService.EnableLoggingAsync and the corresponding remote implementation in RemoteProcessTelemetryService.
  • Cleaned up solution/build/test wiring (solution entries, IVT, integration-test project refs, determinism/rebuild scripts, VSIX deployment list).
File Description
src/​Workspaces/​Remote/​ServiceHub/​Services/​ProcessTelemetry/​RemoteProcessTelemetryService.cs Removes remote logging enablement API and associated sink registrations.
src/​Workspaces/​Remote/​Core/​Microsoft.CodeAnalysis.Remote.Workspaces.csproj Drops IVT to removed DiagnosticsWindow assembly.
src/​Workspaces/​Core/​Portable/​Telemetry/​IRemoteProcessTelemetryService.cs Removes EnableLoggingAsync from the remote telemetry contract.
src/​Workspaces/​Core/​Portable/​Microsoft.CodeAnalysis.Workspaces.csproj Drops IVT to removed DiagnosticsWindow assembly.
src/​Workspaces/​Core/​Desktop/​Microsoft.CodeAnalysis.Workspaces.Desktop.csproj Drops IVT to removed DiagnosticsWindow assembly.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.zh-Hant.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.zh-Hans.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.tr.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.ru.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.pt-BR.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.pl.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.ko.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.ja.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.it.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.fr.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.es.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.de.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VSPackage.cs.xlf Deletes tool window localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.zh-Hant.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.zh-Hans.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.tr.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.ru.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.pt-BR.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.pl.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.ko.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.ja.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.it.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.fr.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.es.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.de.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​VisualStudioDiagnosticsWindow.vsct.cs.xlf Deletes VSCT localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.zh-Hant.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.zh-Hans.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.tr.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.ru.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.pt-BR.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.pl.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.ko.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.ja.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.it.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.fr.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.es.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.de.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​xlf/​Resources.cs.xlf Deletes resource localization file.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VSPackage.resx Deletes VS package resources.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VisualStudioDiagnosticsWindowPackage.cs Deletes the VS package entrypoint for the tool window/options pages.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VisualStudioDiagnosticsWindow.vsct Deletes VSCT command definition for the tool window command.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​VenusMarginFactory.cs Deletes Venus margin diagnostics UI component.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​VenusMargin.cs Deletes Venus margin implementation.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​ProjectionSpanTagger.cs Deletes projection span tagger used by the diagnostics UI.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​ProjectionSpanTagDefinition.cs Deletes tag definition for projection span markers.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​ProjectionSpanTag.cs Deletes projection span tag type.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​ProjectionBufferViewModel.cs Deletes view model for projection diagnostics UI.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​ProjectionBufferMargin.xaml.cs Deletes projection buffer margin UI code-behind.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​VenusMargin/​ProjectionBufferMargin.xaml Deletes projection buffer margin XAML.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​source.extension.vsixmanifest Deletes VSIX manifest for the tool window extension.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Roslyn.VisualStudio.DiagnosticsWindow.csproj Deletes the VSIX project itself.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Resources.resx Deletes tool window resources.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PkgCmdID.cs Deletes command ID list for the tool window command.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PerfMargin/​StatusIndicator.xaml.cs Deletes perf margin UI control code-behind.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PerfMargin/​StatusIndicator.xaml Deletes perf margin UI XAML.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PerfMargin/​PerfMarginPanel.cs Deletes perf margin panel implementation (telemetry visualization).
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PerfMargin/​PerfActivityEventSink.cs Deletes perf activity sink used by the diagnostics UI.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PerfMargin/​DataModel.cs Deletes perf model used by the diagnostics UI.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PerfMargin/​ActivityLevel.cs Deletes activity model used by the perf margin.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Panels/​WorkspacePanel.xaml.cs Deletes workspace diagnostics panel.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Panels/​WorkspacePanel.xaml Deletes workspace diagnostics panel XAML.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Panels/​TelemetryPanel.xaml.cs Deletes telemetry panel.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Panels/​TelemetryPanel.xaml Deletes telemetry panel XAML.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​PackageRegistration.pkgdef Deletes VS package registration (autoload, tool window, options pages).
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​OptionPages/​PerformanceLoggersPage.cs Deletes performance logger options page (and remote propagation).
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​OptionPages/​PerformanceFunctionIdPage.cs Deletes FunctionId options page.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​OptionPages/​InternalOptionsControl.cs Deletes internal options UI control used by tool window option pages.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​OptionPages/​ForceLowMemoryModePage.cs Deletes force low memory mode options page.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​OptionPages/​ForceLowMemoryMode.cs Deletes force low memory mode implementation.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Loggers/​OutputWindowEventSink.cs Deletes Output window event sink used by tool window-driven logging.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​Guids.cs Deletes GUID definitions specific to the tool window package/commands.
src/​VisualStudio/​VisualStudioDiagnosticsToolWindow/​DiagnosticsWindow.cs Deletes the tool window implementation.
src/​VisualStudio/​IntegrationTest/​IntegrationTestBuildProject.csproj Removes project reference to the deleted DiagnosticsWindow VSIX project.
src/​VisualStudio/​Core/​Test.Next/​Services/​ServiceHubServicesTests_Telemetry.cs Removes tests that specifically validated the deleted remote logging enablement API.
src/​VisualStudio/​Core/​Impl/​Microsoft.VisualStudio.LanguageServices.Implementation.csproj Drops IVT to removed DiagnosticsWindow assembly.
src/​VisualStudio/​Core/​Def/​Microsoft.VisualStudio.LanguageServices.csproj Drops IVT to removed DiagnosticsWindow assembly.
src/​VisualStudio/​Core/​Def/​Log/​LoggerOptionsStorage.cs Removes logger option storage used by the deleted diagnostics tooling.
src/​VisualStudio/​Core/​Def/​Guids.cs Removes GUID constants for the deleted internal option pages/tooling.
src/​Features/​Core/​Portable/​Microsoft.CodeAnalysis.Features.csproj Drops IVT to removed DiagnosticsWindow assembly.
src/​EditorFeatures/​Core/​Microsoft.CodeAnalysis.EditorFeatures.csproj Drops IVT to removed DiagnosticsWindow assembly.
src/​EditorFeatures/​Core/​Logging/​FunctionIdOptions.cs Removes FunctionId option plumbing used by the deleted diagnostics tooling.
Roslyn.slnx Removes the DiagnosticsWindow project and its build dependency from the repo solution.
Ide.slnf Removes the DiagnosticsWindow project from the IDE solution filter.
eng/​test-rebuild.ps1 Removes an exclusion entry for the deleted diagnostics assembly.
eng/​test-determinism.ps1 Removes a determinism skip entry that existed specifically for the deleted diagnostics assembly key.
eng/​build.ps1 Removes the deleted VSIX from the deploy ordering list.

Copilot AI review requested due to automatic review settings September 3, 2026 21:38
@jasonmalinowski
jasonmalinowski force-pushed the remove-diagnostics-window-vsix branch from c13fec2 to c0138f1 Compare September 3, 2026 21:38

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🔵 Needs a closer look

It performs broad deletions across Visual Studio integration, build wiring, and a remote service contract, which warrants human verification via CI and ownership review even if no immediate code issues are apparent.

Review tier: Lite
Findings: None

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Just curious, what was it for?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

It had a few very random features:

  1. There was a tab that showed if background work was registered with our async listener. This isn't terribly useful.
  2. There was a tab that would generate a list of code actions and their GUIDs which you could use to feed into telemetry. I'm not sure if anybody knew about this and something like it might be needed generally, but we could build that as a part of CI or have some other process to generate it. (If nothing else, we could hide a command in VS to do the same thing.)
  3. There was a tab to check if workspace files were up to date. I didn't even know this existed and I'd be the one most likely to need it. 😄 Again, if we needed it we could hide a command in VS for it so customers can run it if we need it for diagnostics.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

  1. There was a tab that would generate a list of code actions and their GUIDs which you could use to feed into telemetry.

Why did I even build this? https://github.com/dotnet/roslyn/tree/main/src/Tools/BuildActionTelemetryTable

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@JoeRobich Because a tool that you could run like that is how it should have been built originally. Honestly I didn't even know the Diagnostics Window existed until somebody else asked what it did. 😄

Copilot AI review requested due to automatic review settings September 4, 2026 20:35

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The change is a coherent removal and repo-wide searches show no remaining references to the deleted VSIX, options, or remote logging API.

Review tier: Lite
Findings: None

Nobody on the team has used this in awhile, so we can just delete it.
Copilot AI review requested due to automatic review settings September 4, 2026 20:50
@jasonmalinowski
jasonmalinowski force-pushed the remove-diagnostics-window-vsix branch from d6d701e to a71761b Compare September 4, 2026 20:50

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Copilot review overview

🟢 Approval recommended

The diagnostics tool window feature and its dependent code paths appear fully removed with no remaining references to the deleted APIs/projects in the repo.

Review tier: Lite
Findings: None

@jasonmalinowski
jasonmalinowski merged commit 7a0bd96 into dotnet:main Sep 8, 2026
26 checks passed
@jasonmalinowski
jasonmalinowski deleted the remove-diagnostics-window-vsix branch September 8, 2026 16:36
@dotnet-policy-service dotnet-policy-service Bot added this to the Next milestone Sep 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants