{"id":21852847,"url":"https://github.com/madskristensen/asynctoolwindowsample","last_synced_at":"2025-06-25T18:35:27.914Z","repository":{"id":66333433,"uuid":"134463045","full_name":"madskristensen/AsyncToolWindowSample","owner":"madskristensen","description":"A Visual Studio extension sample","archived":false,"fork":false,"pushed_at":"2018-05-22T19:33:50.000Z","size":82,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-21T18:51:52.454Z","etag":null,"topics":["async","toolwindow","visual-studio-extension","vsix"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/madskristensen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"madskristensen"}},"created_at":"2018-05-22T19:05:42.000Z","updated_at":"2023-04-24T23:25:24.000Z","dependencies_parsed_at":"2023-02-20T19:46:02.891Z","dependency_job_id":null,"html_url":"https://github.com/madskristensen/AsyncToolWindowSample","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/madskristensen/AsyncToolWindowSample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskristensen%2FAsyncToolWindowSample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskristensen%2FAsyncToolWindowSample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskristensen%2FAsyncToolWindowSample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskristensen%2FAsyncToolWindowSample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/madskristensen","download_url":"https://codeload.github.com/madskristensen/AsyncToolWindowSample/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/madskristensen%2FAsyncToolWindowSample/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261931505,"owners_count":23232097,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["async","toolwindow","visual-studio-extension","vsix"],"created_at":"2024-11-28T01:18:46.606Z","updated_at":"2025-06-25T18:35:27.892Z","avatar_url":"https://github.com/madskristensen.png","language":"C#","funding_links":["https://github.com/sponsors/madskristensen"],"categories":[],"sub_categories":[],"readme":"# Async Tool Window example\n\n[![Build status](https://ci.appveyor.com/api/projects/status/eo79i4hqbn4jahqx?svg=true)](https://ci.appveyor.com/project/madskristensen/asynctoolwindowsample)\n\n**Applies to Visual Studio 2017.6 and newer**\n\nThis sample shows how to provide an Async Tool Window in a Visual Studio extension.\n\nClone the repo to test out the sample in Visual Studio 2017 yourself.\n\n![Tool Window](art/tool-window.png)\n\n## Specify minimum supported version\nSince protocol handler support is new in Visual Studio 2017 Update 6, we need to specify that our extension requires that version or newer. We do that in the .vsixmanifest file like so:\n\n```xml\n\u003cInstallationTarget Id=\"Microsoft.VisualStudio.Community\" Version=\"[15.0.27413, 16.0)\" /\u003e\n```\n\n*15.0.27413* is the full version string of Visual Studio 2017 Update 6.\n\nSee the full sample [.vsixmanifest file](src/source.extension.vsixmanifest).\n\n## This sample\nThe code in this sample contains the concepts:\n\n1. [Custom Tool Window Pane](src/ToolWindows/SampleToolWindow.cs)\n2. [XAML control](src/ToolWindows/SampleToolWindowControl.xaml) for the pane\n3. [Custom command](src/Commands/ShowToolWindow.cs) that can show the tool window\n4. [AsyncPackage class](src/MyPackage.cs) that glues it all together\n\nFollow the links above directly into the source code to see how it is all hooked up.\n\n## Further reading\nRead the docs for all the details surrounding these scenarios.\n\n* [VSCT Schema Reference](https://docs.microsoft.com/en-us/visualstudio/extensibility/vsct-xml-schema-reference)\n* [Use AsyncPackage with background load](https://docs.microsoft.com/en-us/visualstudio/extensibility/how-to-use-asyncpackage-to-load-vspackages-in-the-background)\n* [Custom command sample](https://github.com/madskristensen/CustomCommandSample)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadskristensen%2Fasynctoolwindowsample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmadskristensen%2Fasynctoolwindowsample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmadskristensen%2Fasynctoolwindowsample/lists"}