dotnet / vscode-csharp

Official C# support for Visual Studio Code
MIT License
2.85k stars 670 forks source link

Intellisense does not show text description. #1551

Open ramya-rao-a opened 7 years ago

ramya-rao-a commented 7 years ago

From @objectref on June 6, 2017 21:47

Extension Author Version
csharpextensions jchannon 1.3.0
csharp ms-vscode 1.10.0
team ms-vsts 1.118.2
vscode-icons robertohuertasm 7.9.0 ;

Steps to Reproduce:

1. 2.

Copied from original issue: Microsoft/vscode#28152

ramya-rao-a commented 7 years ago

@objectref Can you share a screen shot of the place where WriteLine is defined? Does it have any comments/docs on it?

ramya-rao-a commented 7 years ago

From @objectref on June 6, 2017 22:0

Hi. WriteLine is a method of Console (of .net core), not mine. Or I misunderstood your question?

Anthony

From: Ramya Rao notifications@github.com Reply-To: Microsoft/vscode reply@reply.github.com Date: Wednesday, 7 June 2017 at 00:57 To: Microsoft/vscode vscode@noreply.github.com Cc: objectref aboudouvas@outlook.com, Mention mention@noreply.github.com Subject: Re: [Microsoft/vscode] Intellisense does not show text description. (#28152)

@objectrefhttps://github.com/objectref Can you share a screen shot of the place where WriteLine is defined? Does it have any comments/docs on it?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vscode/issues/28152#issuecomment-306629255, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AUHTS39s2XgicZWrK8KysF0yIWOPSsKqks5sBctIgaJpZM4Nx9Up.

ramya-rao-a commented 7 years ago

Do a F12 or "Go to Definition" on the "WriteLine" method, that will take you to the file where it is defined. Once there, see if there are any docs for the method.

Only if the method in question has any accompanying docs, the same appear in the suggestion list.

ramya-rao-a commented 7 years ago

Also, hover on the WriteLine method, do you see any docs/description showing up?

ramya-rao-a commented 7 years ago

From @objectref on June 6, 2017 22:18

I did that F12 and indeed there it does not seem any doc/description in the WriteLine method. But I remembered that this thing always showed me help description in intellisense (C#). And surely, I remembered it in JavaScript coding too! And now it does not seem to work even there (JS). See the attached picture.

From: Ramya Rao notifications@github.com Reply-To: Microsoft/vscode reply@reply.github.com Date: Wednesday, 7 June 2017 at 01:12 To: Microsoft/vscode vscode@noreply.github.com Cc: objectref aboudouvas@outlook.com, Mention mention@noreply.github.com Subject: Re: [Microsoft/vscode] Intellisense does not show text description. (#28152)

Also, hover on the WriteLine method, do you see any docs/description showing up?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/Microsoft/vscode/issues/28152#issuecomment-306632391, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AUHTSy9_aNOAKhvm8QIyfXd4bjk10Hb8ks5sBc7IgaJpZM4Nx9Up.

ramya-rao-a commented 7 years ago

if you don't see any docs/description on hover either, then there must be an issue with the C# extension.

Will move this issue over to the extension's repo. They can better investigate if the extension is sending the required info to VS Code

DustinCampbell commented 7 years ago

C# for VS Code does pass along documentation to the completion items it creates. However, in this case, it appears that the documentation is not available to it at all.

@objectref: Could you run dotnet --info in the your project folder and let me know what the output is?

@terrajobst, @richlander: Poking around a bit, it appears that the NETStandard.Library packages don't appear to contain XML documentation like, say, the ASP.NET packages do, which means that users don't get documentation on hover or completion in VS Code for core types and members. Is there are plan to start including documentation so that users get a good experience?

cc @Pilchie

objectref commented 7 years ago

dotnet –info command at project folder output:

.NET Command Line Tools (2.0.0-preview1-005977)

Product Information: Version: 2.0.0-preview1-005977 Commit SHA-1 hash: 414cab8a0b

Runtime Environment: OS Name: Mac OS X OS Version: 10.12 OS Platform: Darwin RID: osx.10.12-x64 Base Path: /usr/local/share/dotnet/sdk/2.0.0-preview1-005977/

Microsoft .NET Core Shared Framework Host

Version : 2.0.0-preview1-002111-00 Build : 1ff021936263d492539399688f46fd3827169983

lfr commented 6 years ago

The last update to this issue was 8 months ago, were you able to find a fix @objectref ? @DustinCampbell do you know why the standard core SDK may be installing without XML documentation? F12 goes to definition from metadata, but this metadata has comments as seen in standard visual studio, OmniSharp doesn't seem to use them though.

MeikTranel commented 5 years ago

I can only get documentation to work, when i clear out workspace storage, dotnet clean and build the projects against net462 or something similar. We cant have the spear head of .NET xplat development deliver a arguably worse dev experience for xplat projects than for full framework windows only projects.

Can we please get some communication here regarding XML documentation between this project and @terrajobst, if this has something to do with XML files missing in the NETStandard.Library package?

This is really annoying and i take documentation working over razor support any day.

ericu109 commented 4 years ago

This still seems to be an issue, even today, at least on ArchLinux.

I can get documentation to work(testing with System.Console.WriteLine()) by downloading the windows binaries, and copying the ~/packs/Microsoft.NETCore.App.Ref/3.1.0/ref/netcoreapp3.1/System.Console.xml to /usr/share/dotnet/packs/Microsoft.NETCore.App.Ref/3.1.0/ref/netcoreapp3.1/ in the case of a console application targeting netcoreapp3.1 as well as ~/packs/NETStandard.Library.Ref/2.1.0/ref/netstandard2.1/netstandard.xml to /usr/share/dotnet/packs/NETStandard.Library.Ref/2.1.0/ref/netstandard2.1/ in the case of a class library targeting netstandard2.1.

Surely fixing this would be a small change in a build script somewhere to output the XML documentation for Linux builds?

maprihoda commented 4 years ago

This works, provided that you follow these steps:

  1. install the SDK via a script, see https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script. Thus the xml files with documentation are included in the SDK's ref folder. Download the script chmod +x dotnet-install.sh ./dotnet-install.sh --install-dir /home/yourusere/dotnet -channel Current -version latest In your ~/.bashrc: export PATH=$PATH:$HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH="$PATH:$HOME/.dotnet/tools"

  2. start vscode from the command line

You may also need to run omnisharp: select project from the command palette.

rohitramu commented 3 years ago

I'm hitting this bug on Windows as well, but only if I'm building against netstandard2.0, not if I'm building against netcoreapp3.1.

I used the official x64 SDK installer from here: https://dotnet.microsoft.com/download/dotnet-core/3.1

This is how the intellisense popup looks for me in VS Code: image

This is what it looks like in Visual Studio 2019 (Community edition): image

Output of dotnet --info:

.NET Core SDK (reflecting any global.json):
 Version:   3.1.403
 Commit:    9e895200cd

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19041
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\3.1.403\

Host (useful for support):
  Version: 3.1.9
  Commit:  774fc3d6a9

.NET Core SDKs installed:
  3.1.403 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.23 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.23 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.9 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.9 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download
janweigel commented 3 years ago

Same problem here. There is no documentation when using netstandard 2.0 in VS Code under Windows. Did anyone manage to get intellisense to work with netstandard 2.0? Thanks!

janweigel commented 3 years ago

Update: I figured out that the problem was based on Unity referencing its own netstandard.dll and doesn't provide the corresponding xml documentation file. After copying the xml file from the official nuget package, everything worked as expected.

SvenViking commented 1 year ago

(For example, copy something like Program Files\dotnet\packs\NETStandard.Library.Ref\2.1.0\ref\netstandard2.1\netstandard.xml to somewhere like \[Unity editor application]\Data\NetStandard\ref\2.1.0\, the same folder containing netstandard.dll.)

Still an issue in 2023 (with Unity in general, not OmniSharp, and affecting both Visual Studio and VSCode.

edisonjromor commented 1 year ago

The same problem with Visual Studio Code 1.77.3 on Windows with multiple projects in Workspace, only the first project the intellisense show text description