Skip to content

Add 'Open in VS Code' button with binlog analyzer extension#933

Merged
KirillOsenkov merged 6 commits intoKirillOsenkov:mainfrom
JanKrivanek:dev/ykovalova/open-in-vscode
Mar 9, 2026
Merged

Add 'Open in VS Code' button with binlog analyzer extension#933
KirillOsenkov merged 6 commits intoKirillOsenkov:mainfrom
JanKrivanek:dev/ykovalova/open-in-vscode

Conversation

@YuliiaKovalova
Copy link
Contributor

@YuliiaKovalova YuliiaKovalova commented Mar 3, 2026

Summary

Adds an ✨ Open in VS Code toolbar button that launches VS Code with the MSBuild Binlog Analyzer extension for Copilot-powered build analysis.

{0D101943-21CC-4BA1-8A4B-9681B5635F02}

How it works

  1. User clicks ✨ Open in VS Code in the toolbar
  2. Extension is auto-installed from the marketplace if needed (\dotutils.binlog-analyzer)
  3. VS Code opens with the project folder + binlog URI
  4. The VS Code extension activates, configures the MCP server, and opens Copilot Chat
{C782A043-1CC1-448F-94A3-FD0B75F54BF3}

@YuliiaKovalova
Copy link
Contributor Author

cc @JanKrivanek , @baronfel , @rainersigwald

@YuliiaKovalova YuliiaKovalova force-pushed the dev/ykovalova/open-in-vscode branch from 5e18300 to 418fc6e Compare March 3, 2026 18:12
Adds a toolbar button to launch VS Code with the MSBuild Binlog Analyzer
extension (dotutils.binlog-analyzer) for Copilot-powered build analysis.

Features:
- 'Open in VS Code' button in toolbar with tip bar hint
- Attach binlog button for multi-binlog comparison
- Auto-installs extension from VS Code Marketplace if not present
- Detects workspace folder from binlog project paths
- Cross-machine binlog support (defers to VS Code extension)
- Writes .vscode/settings.json and .vscode/mcp.json for MCP tools

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@YuliiaKovalova YuliiaKovalova force-pushed the dev/ykovalova/open-in-vscode branch from 418fc6e to 1c6c33d Compare March 3, 2026 18:20
@JanKrivanek
Copy link
Collaborator

@KirillOsenkov this is efectively superseding #912
(having the LLM investigation using native VSCode chat allows way more rich experience and it doesn't polute the viewer with tons of deps updates)

@JanKrivanek JanKrivanek mentioned this pull request Mar 4, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
{
Process.Start(new ProcessStartInfo("https://github.com/JanKrivanek/MSBuildStructuredLog/releases") { UseShellExecute = true });
vsCodeHintBar.Visibility = Visibility.Collapsed;
vsCodeHintDismissed = true;
Copy link
Owner

Choose a reason for hiding this comment

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

we need to persist this in settings. We can't be showing this in every session again and again.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

done

@KirillOsenkov
Copy link
Owner

Don't forget to check the Dark Theme to see if the colors look OK. Could you include all screenshots of the new UI including the hint bar?

@YuliiaKovalova
Copy link
Contributor Author

Don't forget to check the Dark Theme to see if the colors look OK. Could you include all screenshots of the new UI including the hint bar?

Sure, here you go:

Dark Theme:
{87ED6F29-D5D3-4CB6-ACF8-281CEB0F3DD2}

UI with tooltips:
{18F31C21-121A-4995-9770-FC7900220F38}
{469A97D1-FF2A-4E22-848C-D1E8D0E7E6CB}

UI with attached binlogs:
{F8DC42FC-4C38-4CA9-A525-133D1095B20E}

@YuliiaKovalova YuliiaKovalova force-pushed the dev/ykovalova/open-in-vscode branch from d353eed to 429d33e Compare March 9, 2026 11:56
YuliiaKovalova and others added 3 commits March 9, 2026 13:06
Restores the original SetProjectContext behavior:
- contents ??= 'A project or evaluation must be selected.' fallback
- projectContextBorder always Visibility.Visible
- projectContextLabel.Visibility controlled by contents != null
- Guard condition order matching main

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Reverts accidental modifications to existing code:
- Restore DisplayTarget evaluation parameter and call sites
- Restore EditorExtension unconditional creation with Evaluation property
- Restore PreprocessContext != null check
- Restore 'View project graph' button in folder children
- Move ViewProperty and SearchForProperty back to original locations
- Fix formatting (blank line, indentation)

The diff is now purely additive — only new VS Code feature code.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@KirillOsenkov KirillOsenkov merged commit cf34266 into KirillOsenkov:main Mar 9, 2026
1 check passed
@YuliiaKovalova
Copy link
Contributor Author

@KirillOsenkov , thank you!!!

@KirillOsenkov
Copy link
Owner

Published https://github.com/KirillOsenkov/MSBuildStructuredLog/releases/tag/v2.3.150

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.

3 participants