vscode-csharp icon indicating copy to clipboard operation
vscode-csharp copied to clipboard

Implement completion for package references in csproj files

Open jchannon opened this issue 8 years ago • 19 comments

Environment data

dotnet --info output:

.NET Command Line Tools (1.0.0-rc4-004706)

Product Information:
 Version:            1.0.0-rc4-004706
 Commit SHA-1 hash:  e38bc4950c

Runtime Environment:
 OS Name:     Mac OS X
 OS Version:  10.11
 OS Platform: Darwin
 RID:         osx.10.11-x64
 Base Path:   /usr/local/share/dotnet/sdk/1.0.0-rc4-004706

VS Code version: 1.8.1 ee428b0eead68bf0fb99ab5fdc4439be227b6281 C# Extension version: 1.6.2

Steps to reproduce

Edit a netcore csproj

Expected behavior

Intellisense when trying to get nuget package names and versions. This is currently possible in project.json. Editing this file manually without intellisense is a bit painful.

Actual behavior

No behaviour its just editing a text file

jchannon avatar Jan 28 '17 12:01 jchannon

This will likely happen at some point, but not for awhile (unless somebody wants to contribute! :smile:)

DustinCampbell avatar Jan 30 '17 04:01 DustinCampbell

Hi, I'd be willing to give this a shot. I think this was/is a killer feature and I'm already starting to miss it! ;)

Are you planning on merging PR #224? In that case I should make the implementation for csproj somehow fit into what was there for project.json. Otherwise I'd use the project.json implementation as a template for csproj wherever it makes sense.

I'd start by raising the PR asap so you can easily follow up on progress. Since you tagged this issue as Backlog, should I target master or future with my PR?

Let me know your plans regarding #224 so I can compile the task list for my PR.

Cheers, Christoph

cmurczek-it avatar Feb 06 '17 15:02 cmurczek-it

You're welcome to take a stab at it! It'll be quite some time before I'm able to get to this.

DustinCampbell avatar Feb 06 '17 15:02 DustinCampbell

Indeed editing without the intellisense is a bit of a pain so I've been using the dotnet cli to manipulate nuget packages. Though I would use this should it be completed. Good luck!

strake7 avatar Mar 08 '17 03:03 strake7

BTW, there's a new extension for Visual Studio 2017 that provides PackageReference intellisense:

https://github.com/dotnet/ProjFileTools

Might help if anybody is curious about the mechanics of how to accomplish this.

tintoy avatar Mar 08 '17 04:03 tintoy

@mlorbetske and I were talking about how we might pull this into OmniSharp and C# for VS Code just yesterday.

DustinCampbell avatar Mar 08 '17 14:03 DustinCampbell

Go go @mlorbetske :-)

stuartleeks avatar Mar 14 '17 10:03 stuartleeks

Unfortunately, this is going to have to move to 1.11. I've started looking at it, but other responsibilities got in the way this month.

DustinCampbell avatar May 25 '17 14:05 DustinCampbell

Fortunately, 1.10 is a great release with lots of improvements. 👍🏻

tverboon avatar May 25 '17 18:05 tverboon

Very waiting the enhancement.

iSazonov avatar Jun 04 '17 08:06 iSazonov

Hi.

It's not part of OmniSharp, but I finally bit the bullet and wrote an extension to provide basic completion for PackageReference elements (package Ids and versions). I'm planning to eventually build out a full MSBuild language service behind it but it's probably good enough now for the most common use-case (packages from nuget.org - custom package sources from NuGet.config will be added in a later release). The NuGet v3 API is a little slow (but not infuriatingly so). Hopefully they'll improve it over time.

BTW, I'm happy to contribute this functionality back to OmniSharp if it makes sense to do so.

tintoy avatar Aug 14 '17 08:08 tintoy

The current changelog for C# extension reads "Known Issues in 1.12.0...There currently is no completion support for package references in csproj files. (#1156)"

Might be a good idea to add a link to @tintoy 's extension to tide people over in the interim. Or just simply adopt that extension wholesale as the official support.

ebekker avatar Oct 06 '17 14:10 ebekker

That's a very good idea (and thanks for bumping this issue to the top of my stack :smile:).

@tintoy: I'd definitely work with you to contribute this back into C# for VS Code if you're interested. In the meantime, I'll add some text to point folks to your extension.

DustinCampbell avatar Oct 06 '17 14:10 DustinCampbell

@DustinCampbell sure, I'm keen :)

tintoy avatar Oct 06 '17 19:10 tintoy

Bonus -- @tintoy just added ability to toggle filtering of pre-release versions!

ebekker avatar Oct 08 '17 02:10 ebekker

@DustinCampbell @tintoy Any update on this? It would be great to have this functionality integrated into C# for VS Code.

bryanhitc avatar Jun 19 '18 21:06 bryanhitc

@BryanHitchcock It's been a while since I looked into this, but I'm still open to the idea of doing this (and am happy to put in the effort if it's what users want and the OmniSharp team think it makes sense to do so 😄). I suspect this is mostly a deployment issue, rather than one of functionality (although I could be wrong) so it might be enough to ensure that MSBuild Project Tools gets installed when you install the C# extension? We previously discussed creating an extension pack but I don't think anyone's had a proper think about what that would look like so far.

tintoy avatar Jun 19 '18 23:06 tintoy

Hi, do you have any progress? Fixing Date?

makakaorg avatar Feb 22 '20 10:02 makakaorg

Whats the current state of things? There seems to be no alternatives.

tilkinsc avatar Dec 23 '23 00:12 tilkinsc