Coder Social home page Coder Social logo

fsprojects / paket.visualstudio Goto Github PK

View Code? Open in Web Editor NEW
147.0 147.0 51.0 1.45 MB

Manage your Paket (http://fsprojects.github.io/Paket/) dependencies from Visual Studio!

License: MIT License

F# 5.28% C# 94.60% Batchfile 0.12%
fsharp package-manager paket visual-studio

paket.visualstudio's Introduction

Paket.VisualStudio

Join the chat at https://gitter.im/fsprojects/Paket.VisualStudio

Manage your Paket (http://fsprojects.github.io/Paket/) dependencies from Visual Studio!

Features

  • Solution Explorer Extensions for Paket files
  • Paket commands in Solution Explorer menu
  • IntelliSense in paket.dependencies and paket.references

Build Build status

Require Visual Studio 2013 and Visual Studio 2013 SDK (or later). Run the build.cmd script or Paket.VisualStudio.sln to build the solution.

Installation

Paket.VisualStudio is available in the Visual Studio Gallery.

You can also download the lastest (unreleased) installer from AppVeyor: Choose the latest build and navigate to the "artifacts" tab.

Getting involved

Contributions are always welcome.

License

The extension is available under MIT license. For more information see the License file.

Maintainer

paket.visualstudio's People

Contributors

304notmodified avatar blythmeister avatar chrsteinert avatar cumpsd avatar davidschwegler avatar dcorriveau-omniscient avatar dungpa avatar forki avatar freeman avatar gdziadkiewicz avatar gitter-badger avatar hmemcpy avatar isaacabraham avatar jean avatar johanlarsson avatar konste avatar korporal avatar mexx avatar mrinaldi avatar mrluje avatar romerod avatar ruhullahshah avatar sergey-tihon avatar smoothdeveloper avatar t-charles avatar teadrivendev avatar theangrybyrd avatar theimowski avatar vasily-kirichenko 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

paket.visualstudio's Issues

Unsafe overwrites of fsproj file.

If you do a paket install and have unsaved changes to your project e.g. you added a file and haven't done a build or a save all, your changes will be lost after the projects have been closed and reopened.

Add package search not working with Klondike

I'm on a corporate network, and we're evaluating Paket. This of course includes the VS Extension. What I've found is that when trying to Add a new package to my project, I cannot from inside VS thru the extension. The Search window pops up, but I am unable to find anything. Our internal nuget repo's are all Klondike.

When converting nuget to paket, I've had to set the nuget repo's to .../api/odata in order for it to work properly, and I have no problem with that since it works beautifully after that, but I was wondering if that setup did not play nicely with the extension, of if I have some fundamental misunderstanding of the way it all hangs together.

For reference, update packages and check for updates works just fine.

Clone "Manage NuGet Packages" behaviour for adding references to projects

If you right click a project, the "Manage NuGet Packages" dialog will

  • let you find a NuGet package
  • update the packages.config
  • add that package to the project
  • (crucially) add that package's dependencies to the project.

I would dearly love to see Paket.VisualStudio provide something similar:

  • let me find a package
  • add that package & its dependencies to the affected project

VS plugin should not create its own output pane

VS plugin for Paket tends to switches current pane in Output window to "Paket" only to show couple lines "Restoring packages" and "Ready". Usually people want to see build output in the Output window when the build starts. In my opinion Paket output should go to the same pane where regular build output goes.

Integration with Paket Powershell

Could that be bundled in with this project so when installing you automatically get the Powershell components as well? If you need to go "out of the box" with Paket VS currently e.g. custom commands or whatnot, I currently have to resort to going back to the command line or opening another tool e.g. Atom (with which I love the paket integration, but hate the slow startup time + performance with an equal passion).

If we had the Powershell add-in then that would complete the integration within VS for me.

Use paket.exe instead of Paket.Core

This project uses Paket.Core to perform paket operations. This means we always have to create a new Paket.VisualStudio release for every paket release. And even worse: users have to constantly upgrade the addin.

In atom we use a different way. We always restore the latest paket.exe and use it as a separate process. This works like a Charme.

Should restore unload projects like install/update/remove?

Imagine the case where a user has VS open in a solution with a project whose dependencies are managed by Paket. This is a source-controlled project shared between multiple developers.

When developer A updates the project from source control and the changes include a new version of an already-referenced package, it is possible for the restore to fail if Visual Studio has locked any of the files in that package's folder, especially XML documentation.

It would be ideal if we could get VS to stop locking, but I think a more approachable workaround would to be for Paket.VisualStudio to follow the same 'unload-> run task -> reload' flow that it does for install/update/remove.

No progress indicator

When starting long running action (update for example), there is no progress indicator. In result, it is easy to start working with the code while modifications are not finished yet.

I think VS has some api to indicate a process is in progress, something like "build" action, which shows an animated icon in the status bar.

Paket for Visual Studio does not use paket.exe from my .paket folder?

Hello forki

The bug that you fixed in the Paket project does not seem to be fixed when I use the Visual Studio integration. I updated the paket.exe in my .paket folder to 1.19.7 (by running paket.bootstrapper.exe with no arguments), but when I use the Check for Updates command on the context menu, the bug is not fixed and I still get:

Couldn't retrieve versions for System.Runtime.WindowsRuntime

If instead I open a Command Window in the .paket folder and run packet outdated, it works fine.

Does the Visual Studio integration not use the paket.exe in my .paket folder?

Keyboard shortcuts

Is there a way that we could add keyboard shortcuts to Paket integration? I'm a keyboard-first kinda guy, and it's annoying to modify e.g. paket.dependencies or paket.references (which is beautiful now that we have the intellisense integration directly in there) with your keyboard but then have to go to the paket.dependencies file, open the pop-up menu and then hit "Install".

Failing to get nuget from correct source during update

In my paket.dependencies I have following:

source http://build1:8091/nuget
source https://www.nuget.org/api/v2/

framework: net451
redirects: on

nuget Newtonsoft.Json ~> 8.0 >= 8.0.2

When I trying to update it from visual studio I get following error

Could not resolve package Newtonsoft.Json:

  • Dependencies file requested: >= 8.0.2 < 9.0
  • Available versions:
    • (7.0.1, [http://build1:8091/nuget])
    • (5.0.8, [http://build1:8091/nuget])

For some reason it searching only in my custom nuget server build1:8091
When I run paket update from command line it works fine.

I using latest version for both tools

Visual Studio 2012 (v11): Could not load file or assembly Microsoft.VisualStudio.Shell.12.0

I've installed extension on Visual Studio Professional 2012 (v11). It crashed with the following in the ActivityLog.xml

  <entry>
    <record>504</record>
    <time>2015/05/22 14:34:08.644</time>
    <type>Information</type>
    <source>VisualStudio</source>
    <description>Begin package load [PaketPackage]</description>
    <guid>{2418556F-C184-4E6D-94CB-341BE5C474AC}</guid>
  </entry>
  <entry>
    <record>505</record>
    <time>2015/05/22 14:34:08.645</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>CreateInstance failed for package [PaketPackage]</description>
    <guid>{2418556F-C184-4E6D-94CB-341BE5C474AC}</guid>
    <hr>80070002</hr>
    <errorinfo>Could not load file or assembly 'Microsoft.VisualStudio.Shell.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.</errorinfo>
  </entry>
  <entry>
    <record>506</record>
    <time>2015/05/22 14:34:08.645</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>End package load [PaketPackage]</description>
    <guid>{2418556F-C184-4E6D-94CB-341BE5C474AC}</guid>
    <hr>80004005 - E_FAIL</hr>
    <errorinfo>Could not load file or assembly 'Microsoft.VisualStudio.Shell.12.0, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.</errorinfo>
  </entry>

Question: Check for Updates

I'm curious, why the check for updates functionality includes pre-releases.
The output practically almost always deviates from paket outdated command, there is often a pre-release of some of the referenced packages present.

Btw. none of the update commands include pre-releases.
Can we make it consistent and also disallow pre-releases?

Code completion for paket.references

It would be awesome if you could get code completion in paket.references which was (list of distinct dependencies listed in paket.lock - existing dependencies in references file). This would make adding new references to existing dependencies easier.

Create cool UI for Paket's output

In https://github.com/fsprojects/Paket.VisualStudio/blob/master/src/Paket.VisualStudio/PaketOutputPane.cs#L39 we register Paket's output to the VS output pane. This is good to look up what happened, but during sync commands like "Add package" we don't get any feedback.

In atom we have the following:

paket-add-atom

Since we have already ReactiveUI in place we should open a nice output dialog in https://github.com/fsprojects/Paket.VisualStudio/blob/master/src/Paket.VisualStudio/Commands/AddPackageProcess.cs#L47 and show Paket's output there.

/cc @TheAngryByrd

Paket init

Currently, you can go to a solution with no NuGet packages and do a "Convert From", which seems to work and generate paket.dependencies etc.. It would be better to have an Init command (ideally available as a context item on the solution node in solution explorer). This should in a perfect world also create an empty paket.references file in every project in the solution.

Update All Packages lost unsaved changes

This is probably more a VS bug but here goes:

  1. Edit some files but do not save them
  2. Tools > Paket Dependencies Manager > Update All Packages

Think ^ is what I did, did not test if it is a repro.
When the projects reloaded all unsaved changes were lost.

Suggested fix: Save or ask if user wants to save before running the command.

Type ahead does not work properly in Add package window

When I use the Add package window, if I am fast and know the package name, I can type it in and see the right results. However, if I type slower, the throttle period is very little, so the list shows packages that match, say, first two letters. The problem is that any further input does not cause the list to refresh. Also, I can remove all text in the search box and enter something else, the list stays the same. The progress indicator is always on, never stops.

Turning on Paket on a new solution

What's the "recommended" way of getting a new empty solution e.g. single project class library up and running with Paket in VS?

Currently I do a Convert From Nuget (even though there's no Nuget) which at least generates the dependencies file. But I still have to manually create a .references file in each project etc..

Is there any way to just say "turn on paket for this solution" sort of thing?

Improve error messages during Add Package

In #77 @forki pointed me to now Paket.VisualStudio already does what I want it to. But when I tried to "Add Package" on a project, I just got an error "The path is not of a legal form." No idea what path!

I don't know what path, and am going to try a hack locally, where in AddPackageProcess.ShowAddPackageDialog I wrap the construction of the FileInfo in a

catch (ArgumentException e)
{
    throw new ArgumentException(e.ToString(), e);
}

so I can find out what path is illegal.

Package manager console blocked after installing a package

I yse Paket.VS 1.10 from the gallery. Each time I use Add package, the package manager console gets blockes. Nothing can be done there. Everything else works, but when I try to exit the VS, I get the message "Microsoft Visual Studio has detected that an operation is blocking user input. This can be caused by an active modal dialog or a task that needs to block user interaction. Would you like to shut down anyway?"

Paket VisualStudio does not install Bootstrapper or Targets

If you use Paket on a clean solution e.g. convert-from-nuget or whatever, it doesn't bring down Paket.Bootstrapper, exe or targets into the .paket (at least, it doesn't for me). I don't even know where it runs paket.exe from.

But then you end up with someone else on your team not having the UI tooling and their solution doesn't build because the targets aren't in the cs / vb / fsproj files.

Paket VisualStudio should use the command-line tooling for this with Paket Targets so that if someone doesn't have the VS tooling installed (or doesn't use VS), they can still carry on as usual.

Usability: packages restore switches Output window pane

It is not exactly a bug, but rather irritating "feature" of Paket extension for VS: when it is configured to restore missing packages before each VS build it creates separate pane "Paket" in the Output window and switches to it every time build starts, mostly two write one line that all packages are up to date.

When the build starts most look at the Output window to see the Build pane, not Paket pane.

This design can be improved in a number of different ways, but the easiest one in my opinion - don't create separate Output pane for Paket - let it write what it has to say right to the normal Build pane!

If for some reason separate pane MUST be created, then don't let it steal focus from the Build pane, at least not in the case when it does not have much to say.

Does it sound reasonable?

Thank you!
Konstantin

Make "paket add" available on project nodes

Nuget has the add package command available on project nodes in the solution Explorer (and on the "References" node). We should add this too. Especially for new solutions this is important since we don't have paket.references nodes yet

Using "Add Package" menu in VS blocks all subsequent user input

Hello,

I am experiencing this annoying bug in VS2015 Ent edition with paket dep manager installed.
Repro:

  1. I use "Add Package" menu to add new packages to my project,
  2. Packaged is added.
  3. I observe the following weird bug afterwards: user input in VS is partially blocked. Alt, Ctrl, Del, Backspace buttons dont work, but entering text in the editor works fine. When I try to restart VS I get the following error:
    bug_paket

Please advise.

Add Pakage fails

In VS2013, clicking Add Package on a dependencies file I get the following error: -

The calling thread must be STA, because many UI components require this..

Add package searches from public feed when that source is not in the packages.depenencies

The UI for Add Packages defers to the public nuget gallery even when that feed isn't in the packages.dependencies for the project in question:

image
You can see the fiddler logs in this image.

The two feeds for this project are private company feeds, one for internally-produced packages and one for specific approved versions of public packages, so in the ideal case I'd not see Paket.Core in the search results here.

I haven't looked into if the problem is the allowed source list that paket.core is using to do the lookup or if paket.visualstudio is at fault here.

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.