GithubHelp home page GithubHelp logo

solutionextensions's Introduction

Suggested Extensions for Visual Studio

Build status

Download from the Visual Studio Gallery or get nightly build.

Features

  • Suggested extensions
    • Suggest missing extensions for unknown files
    • Installs missing extensions easily
    • Show a list of generally suggested extension
  • Solution specific extensions
    • The .vsext file
    • Intellisense

Suggested extensions

Unknown file types

When you open a file type that Visual Studio doesn't provide any tooling for, a yellow info bar shows up offering 1 or more available extensions to install.

InfoBar

You can either chose to install one or more of these extensions or chose not to be notified again for this particular file type.

Install extensions...

When clicking Install extensions... in the yellow info bar, you are presented with a list of extensions for the particular file type.

Install missing extensions

Just check the extensions you want to install and it will be installed automatically for you. After installation a new popup will appear to let you restart Visual Studio.

Prompt for restart

This is optional, but the newly installed extensions will not take effect before a restart.

Ignore file type

When clicking Ignore file type on the yellow info bar it will not show again for the particular info. However, you can still see the list of suggested extensions by clicking on a new button on the Standard toolbar.

Toolbar suggested extensions

That will show the same dialog as before, but now it will also include generally suggested extensions.

Dialog suggested extensions

To suggest new extensions for the list, please send a PR to this JSON file.

Solution specific extensions

This is great for teams and open source project owners to make sure that any needed extensions are being installed by the developers opening and working on that solution.

Mandatory and optional extensions

When opening a solution in Visual Studio that has already specified which extensions the user should be using with said solution, this dialog automatically pops up.

Dialog missing extensions

The user is only prompted to install extensions if any mandatory extensions have been specified and they have not already been installed.

The user can always decide not to install the extensions and even specify not to be prompted again for a specific solution.

Specifying the solution extensions

Specifying which extensions should be used with any solution is easy. Use the dropdown on the Standard toolbar to modify solution extensions.

alt text

That will create a JSON file next to the solution with a .vsext extension.

Extension solution file

The .vsext file must have the same name as the .sln file.

After modifying the JSON file, it could look like this:

{
  "extensions": {
    "mandatory": [
      {
        "name": "EditorConfig",
        "productId": "EditorConfig..5cd8e6a2-be43-4fcc-a345-40f6cc1e9c9f",
        "link": "https://visualstudiogallery.msdn.microsoft.com/c8bccfe2-650c-4b42-bc5c-845e21f96328",
        "description": "This makes sure that everyone uses correct spaces and indentation."
      },
      {
        "name": "Extensibility Tools 2015",
        "productId": "f8330d54-0469-43a7-8fc0-7f19febeb897",
        "link": "https://visualstudiogallery.msdn.microsoft.com/ab39a092-1343-46e2-b0f1-6a3f91155aa6",
        "description": "Used for editing the '.vsct' file in the root of this project."
      }
    ],
    "optional": [
      {
        "name": "YAML Editor",
        "productId": "YamlDotNetEditor..074a7b74-655b-409c-b5ac-a028f12d6e89",
        "link": "https://visualstudiogallery.msdn.microsoft.com/34423c06-f756-4721-8394-bc3d23b91ca7",
        "description": "This is handy for editing the 'appveyor.yml' file."
      }
    ]
  }
}

Intellisense

When editing the .vsext file you get full Intellisense for all your installed extensions.

Intellisense

It even shows the extension icons to make it easy to identify the right extensions.

The productId is the productID or Identifier found in an extension's .vsixmanifest file. With the Intellisense this is all automatically discovered for you.

Contribute

The more relevant extension suggestions there are, the better this extension becomes. Please feel free to send pull requests with additional extensions to this JSON file.

License

Apache 2.0

solutionextensions's People

Contributors

erikej avatar layoric avatar madskristensen avatar mlorbetske avatar tgjones avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

solutionextensions's Issues

Suggestion does not show up in resource editor

Installed product versions

  • Visual Studio: Enterprise
  • This extension: 1.1.76

Description

.resx files open with the built in resource editor, however suggestions for .resx files don't show up.

Steps to recreate

  1. Update suggestions.json with the one from PR #21
  2. Double click a .resx file
  3. Editor opens, but no suggestion is shown

Current behavior

No suggestion is shown in the resource editor

Expected behavior

Suggestions are shown in the resource editor if there are suggestions for .resx or .resw files.

Support VS 2013 and suggest by VS versions

Please support VS 2013. Because not every extensions are all available in 2013/2015, and not exactly they are the same id, so please suggest by VS versions. Maybe you need to have (solution).v12.vsext and (solution).v14.vsext. Then I can suggest Web Essentials in 2013, but Web Compiler + Bundler & Minifier in 2015.

Solution specific extension crashes VS when FIPS mode enabled

Installed product versions

  • Visual Studio: 2015 Enterprise Update 3
  • This extension: 1.1.76

Description

With Windows FIPS mode enabled, Visual Studio crashes while loading solution that has a solution specific extension installed. A file such as the two examples below is created in %localappdata%\Temp containing the full call stack for the following unhandled exception.

System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
at System.Security.Cryptography.MD5CryptoServiceProvider..ctor()
at SolutionExtensions.Settings.GetPropertyName(String solution) in C:\projects\solutionextensions\src\Settings.cs:line 98

Steps to recreate

  1. Enable Windows FIPS mode. The following registry setting is one way to do so.
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy]
    "Enabled"=dword:00000001
  2. Open a solution.
  3. Right-click on the solution node in Solution Explorer and select "Modify Solution Extensions...".
  4. Save the solution.

Current behavior

While the solution is loading, or perhaps just after it finishes loading, Visual Studio crashes. Visual Studio may also crash immediately after the user installs a solution specific extension.

Expected behavior

Visual Studio does not crash.

Support more levels/scopes of Suggested Extensions

A global suggestion list is great. Solution specific extensions also. But I'd like to see something in between.

For example suggested extensions scoped to a "team". That way we don't have to repeat extensions in the .vsext file again and again.
The .json file can be retrieved via HTTP(S). That way Github Gists are covered. But probably also OneDrive, Dropbox via a share link.

Other scopes aside from Team could be Company or User.

PS: User level might not be needed, because there's the Roaming Extension Manager.

Modal Dialog Box Should Be Modal to VS

When opening a solution, after installing this extension, a modal dialog box appears for the suggested mandatory and optional extensions for that solution. However if you happen to switch to a different application before closing the dialog box, it stays on top of the other application.

I discovered this issue because I wanted to open a browser to research one of the suggested extensions before I allowed it to be installed. This is probably something people will do. Even when the browser window is maximised, the dialog box sits on top it, whereas it should only be visible when Visual Studio has focus.

It also would be great to have a built-in way to view details about a suggested extension, right from the list of extensions, but I'll add a suggestion for that separately.

Here is an image showing the problem:
image

Icons on vsext intellisense are not normalized

Installed product versions

  • Visual Studio: 2015 Enterprise Update 3
  • This extension: 1.1.76

Description

Icons of extensions in intellisense are not resized to a common size, and they appear in their native size, which gives strange result.

vsext intellisense

Steps to recreate

  1. Have a decent set of extensions to have some with big icons (Bootstrap Snippet Pack, PowerShell Tools for VS2015 )
  2. Open a vsext file
  3. Try to add a new extension
  4. Behold the different icon size

Current behavior

Big sized icons makes the navigation difficult.

Expected behavior

Same sized icons would make navigation easier.

Part of .NET Core Tooling Preview now?

Or is going to be?

Tooling Preview now suggests to install some extensions when I open a file:
vsext

But when I create *.vsext file, nothing happens, the suggestion dialog doesn't appear.

Add ability to specify visual studio editon dependence

Some times extesnsions suggested not available or not as expect. For example if open an '.php' file in vs2015, a suggestion was shown and suggest install PHP Language Support, but this extension didn't support VS2015 so it can't be installed. And I didn't want to ignore this file type due to I want to keep attention on this filetype.

It would be nice if extensions that not availble for current visual studio version are not showing.

Visual Studio 15 crashes or hangs

Installed product versions

  • Visual Studio 15 Preview Enterprise
  • This extension: 1.1.59

Description

When installed Visual Studio 15 crashes or input is blocked

Steps to recreate

  1. Modify manifest to allow installation to 15 Preview
  2. Install
  3. Open solution
  4. Visual Studio have to crash or hang

Opening Second Instance of Visual Studio 2015 Crashes

With the current nightly build (v1.0.39), if I open a second instance of Visual Studio, once it loads it crashed. The original instance is unaffected.

If I disable the extension, restart VS, then open a second instance, it doesn't crash. If I re-enable the extension, open a second instance of VS, it crashes again.

Repro Steps:

  1. Open Visual Studio 2015 RTM with nightly build of v1.0.39 installed
  2. Open a second instance of VS 2015 (when it finishes loading, the second instance crashes)
  3. Disable extension and restart VS
  4. Open second instance of VS 2015 (it loads and no longer crashes)
  5. Re-enable the extension and restart VS
  6. Open a second instance of VS 2015 (when it finishes loading, the second instance crashes again)

Adding existing .sdf files does not prompt suggestion, as expected

On a .NET 4.5 console app, adding an existing item .sdf file (and even opening it afterwards) does not trigger any suggestions. I have build 39 installed.

Adding a test.db or even a test.sdf via Add/New Item file correctly triggers extensions suggestions a well - I think the problem might be that the extension only checks for text creation event rather than the event of a new item being added to the project? (Opening a sdf file already in the project opens it in the hex editor, not text view)

Suggested Extensions dialog continues to recommend "Add New File" -- Not Registering Installation?

Installed product versions

  • Visual Studio: 2015 Community Update 1 (14.0.24720.00)
  • This extension: 1.1.5.7

Description

Moved from "Add New File" repo. Extension suggestions doesn't update when a certain extension is installed; bug fix should handle edge case more gracefully.

Steps to recreate

  1. Open Web Project
  2. Click "Suggested Extensions" icon
  3. Tick / check "Add New File" entry in "General" suggested extensions list
  4. Restart VS
  5. Open Web Project again
  6. Click "Suggested Extensions" icon

example image

Current behavior

Extension suggests to install "Add New File" extension, but continues to suggest it after it's installed.

Expected behavior

The specific details for "Add New File" that might be the cause of the error are unknown by issue author, but SolutionExtensions should handle the "Add New File" edge case more gracefully and display "Add New File" as already installed in same way as other installed suggested extensions.

Opening a file before opening a solution prevents extensions from being suggested

Installed product versions

  • Visual Studio: Enterprise 2015.3
  • This extension: 1.1.76

Description

If you open a file before opening any projects/solutions, this extension will not make any suggestions. In my case it was a .tfignore file, but I don't think that it matters.

Steps to recreate

  1. Open Visual Studio.
  2. Open a file that has an extension that would normally result in a suggestion. Can be done many ways.
    • Double click a file in Source Control Explorer.
    • Use File > Open.
    • Drag and drop a file onto the VS window.

Current behavior

Does not show the notice for suggested extensions.

Expected behavior

Should show the suggested extensions.

Workarounds

  • Click the Show Suggested Extensions Dialog button on the toolbar.
  • Open any solution prior to opening the file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.