Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/GregTrevellick/SolutionOpenPopUp

A Visual Studio extension to open a pop-up dialog containing the contents of a specific text file in a solution, when the solution is opened.
https://github.com/GregTrevellick/SolutionOpenPopUp

gotcha visual-studio visual-studio-extension

Last synced: 2 months ago
JSON representation

A Visual Studio extension to open a pop-up dialog containing the contents of a specific text file in a solution, when the solution is opened.

Awesome Lists containing this project

README

        

[AppVeyorProjectUrl]: https://ci.appveyor.com/project/GregTrevellick/solutionopenpopup
[AppVeyorProjectBuildStatusBadgeSvg]: https://ci.appveyor.com/api/projects/status/ap87wkdaam6jkgui?svg=true
[GitHubRepoURL]: https://github.com/GregTrevellick/SolutionOpenPopUp
[GitHubRepoIssuesURL]: https://github.com/GregTrevellick/SolutionOpenPopUp/issues
[GitHubRepoPullRequestsURL]: https://github.com/GregTrevellick/SolutionOpenPopUp/pulls
[VersionNumberBadgeURL]: https://vsmarketplacebadge.apphb.com/version/GregTrevellick.SolutionOpenPopUp.svg
[VisualStudioURL]: https://www.visualstudio.com/
[VSMarketplaceUrl]: https://marketplace.visualstudio.com/items?itemName=GregTrevellick.SolutionOpenPopUp
[VSMarketplaceReviewsUrl]: https://marketplace.visualstudio.com/items?itemName=GregTrevellick.SolutionOpenPopUp#review-details
[CharityWareURL]: https://github.com/GregTrevellick/MiscellaneousArtefacts/wiki/Charity-Ware
[WhyURL]: https://github.com/GregTrevellick/MiscellaneousArtefacts/wiki/Why

# Solution Open Pop Up

[![Read Me Synchronizer](https://img.shields.io/badge/-powered%20by%20ReadMeSynchronizer-brightgreen.svg)](https://github.com/GregTrevellick/ReadMeSynchronizer)
[![BetterCodeHub compliance](https://bettercodehub.com/edge/badge/GregTrevellick/SolutionOpenPopUp?branch=master)](https://bettercodehub.com/results/GregTrevellick/SolutionOpenPopUp)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/23dfefe3b5014fd8b8462b47a3f38c1c)](https://www.codacy.com/project/gtrevellick/SolutionOpenPopUp/dashboard?utm_source=github.com&utm_medium=referral&utm_content=GregTrevellick/SolutionOpenPopUp&utm_campaign=Badge_Grade_Dashboard)
[![CodeFactor](https://www.codefactor.io/repository/github/GregTrevellick/SolutionOpenPopUp/badge)](https://www.codefactor.io/repository/github/GregTrevellick/SolutionOpenPopUp)
[![GitHub top language](https://img.shields.io/github/languages/top/GregTrevellick/SolutionOpenPopUp.svg)](https://github.com/GregTrevellick/SolutionOpenPopUp)
[![Github language count](https://img.shields.io/github/languages/count/GregTrevellick/SolutionOpenPopUp.svg)](https://github.com/GregTrevellick/SolutionOpenPopUp)
[![GitHub issues](https://img.shields.io/github/issues-raw/GregTrevellick/SolutionOpenPopUp.svg)](https://github.com/GregTrevellick/SolutionOpenPopUp/issues)
[![GitHub pull requests](https://img.shields.io/github/issues-pr-raw/GregTrevellick/SolutionOpenPopUp.svg)](https://github.com/GregTrevellick/SolutionOpenPopUp/pulls)
[![GitHub followers](https://img.shields.io/github/followers/GregTrevellick.svg)](https://github.com/GregTrevellick?tab=followers)
[![GitHub stars](https://img.shields.io/github/stars/GregTrevellick/SolutionOpenPopUp.svg)](https://github.com/GregTrevellick/SolutionOpenPopUp)
[![GitHub watchers](https://img.shields.io/github/watchers/GregTrevellick/SolutionOpenPopUp.svg)](https://github.com/GregTrevellick/SolutionOpenPopUp/watchers)
[![Sonar&metric=alert_status](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=alert_status)](https://sonarcloud.io/dashboard?id=SolutionOpenPopUp)
[![Sonar&metric=bugs](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=bugs)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=bugs)
[![Sonar&metric=code_smells](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=code_smells)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=code_smells)
[![Sonar&metric=coverage](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=coverage)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=Coverage)
[![Sonar&metric=duplicated_lines_density](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=duplicated_lines_density)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=duplicated_lines)
[![Sonar&metric=ncloc](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=ncloc)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=ncloc)
[![Sonar&metric=reliability_rating](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=reliability_rating)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=reliability_rating)
[![Sonar&metric=security_rating](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=security_rating)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=security_rating)
[![Sonar&metric=sqale_index](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=sqale_index)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=sqale_index)
[![Sonar&metric=sqale_rating](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=sqale_rating)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=sqale_rating)
[![Sonar&metric=vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=SolutionOpenPopUp&metric=vulnerabilities)](https://sonarcloud.io/component_measures?id=SolutionOpenPopUp&metric=vulnerabilities)
[![Appveyor Build status](https://ci.appveyor.com/api/projects/status/89c8gp1t0rua9fiw?svg=true)](https://ci.appveyor.com/project/GregTrevellick/SolutionOpenPopUp)
[![Appveyor unit tests](https://img.shields.io/appveyor/tests/GregTrevellick/SolutionOpenPopUp.svg)](https://ci.appveyor.com/project/GregTrevellick/SolutionOpenPopUp/build/tests)
[![Azure Build Status](https://gregtrevellick.visualstudio.com/SolutionOpenPopUp/_apis/build/status/SolutionOpenPopUp)](https://gregtrevellick.visualstudio.com/SolutionOpenPopUp/_build/latest?definitionId=20)
[![Hound](https://img.shields.io/badge/hound_ci-checked-brightgreen.svg)](https://houndci.com/)
[![Access Lint github](https://img.shields.io/badge/a11y-checked-brightgreen.svg)](https://www.accesslint.com)
[![ImgBot](https://img.shields.io/badge/images-optimized-brightgreen.svg)](https://imgbot.net/)
[![Renovate Bot github](https://img.shields.io/badge/renovatebot-checked-brightgreen.svg)](https://renovatebot.com/)
[![Charity Ware](https://img.shields.io/badge/charity%20ware-thank%20you-brightgreen.svg)](https://github.com/GregTrevellick/MiscellaneousArtefacts/wiki/Charity-Ware)
[![License](https://img.shields.io/github/license/gittools/gitlink.svg)](/LICENSE.txt)
[![Subscribe](https://img.shields.io/badge/subscribe%20to%20receive%20notificatons-grey.svg)](https://github.com/GregTrevellick/SolutionOpenPopUp/subscription)

[![Visual Studio Marketplace version](https://img.shields.io/badge/-SolutionOpenPopUp-%23e2165e.svg)](https://marketplace.visualstudio.com/items?itemName=GregTrevellick.SolutionOpenPopUp)
[![Visual Studio Marketplace downloads](https://vsmarketplacebadge.apphb.com/installs/GregTrevellick.SolutionOpenPopUp.svg)](https://marketplace.visualstudio.com/items?itemName=GregTrevellick.SolutionOpenPopUp)
[![Visual Studio Marketplace ratings](https://vsmarketplacebadge.apphb.com/rating/GregTrevellick.SolutionOpenPopUp.svg)](https://marketplace.visualstudio.com/items?itemName=GregTrevellick.SolutionOpenPopUp)
[![Visual Studio Marketplace version](https://vsmarketplacebadge.apphb.com/version/GregTrevellick.SolutionOpenPopUp.svg)](https://marketplace.visualstudio.com/items?itemName=GregTrevellick.SolutionOpenPopUp)

[![](SolutionOpenPopUp/Resources/VsixExtensionPreview_175x175.png)][VSMarketplaceUrl]

Download this extension from the [VS Marketplace][VSMarketplaceUrl].

---------------------------------------

Display the contents of certain text files in a solution folder in a pop-up when the solution is opened.

If a file called SolutionOpenPopUp.txt and/or ReadMe.txt exists in the root folder of the solution, the contents are shown in a pop-up when the solution is open - a handy way to share solution-specific gotchas, non-critical team messages, etc with colleagues and contributors.

- *If you LIKE this ***FREE*** extension please give a star rating below, it only takes a few seconds*.

- *If you LOVE this ***FREE*** extension please [help others][CharityWareURL].*

![](SolutionOpenPopUp/Resources/ReadMe_AnimatedDemo.gif)

## Use-Cases

Use this extension anytime you want to see, or you want others to see, certain information when a solution is opened. As you cannot gaurantee other users will have this extension installed you should not rely on this extension to convey critical information.

![](SolutionOpenPopUp/Resources/ReadMeScreenShot_PopUpSolutionOpen.png)

![](SolutionOpenPopUp/Resources/ReadMeScreenShot_PopUpBasic.png)

For example:

- You're new to a company, have made some notes on a .Net solution, and it would be useful to see the notes each time you open the solution.

- You are planning to upgrade a solution to VS2017 in the next quarter, and you want to give the developers a heads up whenever they open the solution.

- The solution has some 'gotchas' (e.g. compilation, runtime or unit test related) which interested parties would benefit from seeing whenever they open up the code.

- The solution is simply a proof of concept and you wish to convey this to others.

- Your solution has its' own "ReadMe" file which all developers should view when they open the solution.

- You want to share a joke-of-the-day or coder-of-the-week announcement with colleagues.

[Why build this extension?][WhyURL]

## Features

![](SolutionOpenPopUp/Resources/ReadMeScreenShot_OptionsGeneral.png)

- Option to show/hide the content of SolutionOpenPopUp.txt in root folder of the solution in a pop-up when the solution is open.

- Option to show/hide the content of ReadMe.txt in root folder of the solution in a pop-up when the solution is open.

- Excessively long lines of text are truncated according to a user-defined value.

- User-defined limit for maximum number of lines to be shown in pop-up.

- If maximum lines limit is exceeded and multiple files are being displayed, the content of each file is truncated pro-rata.

- Option to show/hide source file names in the pop-up.

![](SolutionOpenPopUp/Resources/ReadMeScreenShot_PopUpWithFooter.png)

## Contribute

Contributions to this project are welcome by raising an [Issue][GitHubRepoIssuesURL] or submitting a [Pull Request][GitHubRepoPullRequestsURL].

## License

[MIT](/LICENSE.txt)

## Credits

The following authors / articles deserve special mention for their help whilst creating this extension:

[Ben](https://stackoverflow.com/questions/36035176/build-vs-2015-extension-on-build-server-without-vs-installed/43934701#43934701)

[Mads Kristensen](https://channel9.msdn.com/Events/Build/2016/B886)

[Joshua Thompson](http://schmalls.com/2015/01/19/adventures-in-visual-studio-extension-development-part-2)

[Slaks.Blog](http://blog.slaks.net/2013-11-10/extending-visual-studio-part-2-core-concepts/)

[![](./chart.png)][VSMarketplaceUrl]