Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request — Support for doxygen Documentation #658

Closed
alexdima opened this issue Apr 25, 2017 · 50 comments · Fixed by #5658
Closed

Feature Request — Support for doxygen Documentation #658

alexdima opened this issue Apr 25, 2017 · 50 comments · Fixed by #5658
Labels
Feature: Doc comments An issue related to code comments shown in hover, completion, and signature help. Feature Request fixed Check the Milestone for the release in which the fix is or will be available. Language Service
Milestone

Comments

@alexdima
Copy link
Member

Moved from microsoft/vscode#25231
From @rei-vilo


Doxygen provides a very nice way of adding documentation to the code thanks to keywords.

Some IDEs support Doxygen natively and display the documentation related to the function being typed in.

capture 2017-04-24 a 16 35 56

capture 2017-04-24 a 16 35 30

@hoffmael
Copy link

Adding my vote to this one. Doxygen would be very useful and I'd hope for it being as robust as the JsDoc implementation.

@benjaminjack
Copy link

I would also really like to see this feature implemented. Doxygen support for C++ is the one feature that's really feels missing coming over from Atom.

@trybik
Copy link

trybik commented Jun 2, 2017

I fourth that.. had to go back to Eclipse to generate some of them docs

@aa6moham
Copy link

I also feel that adding Doxygen support in VS code would be very beneficial !

@cesar-pa
Copy link

cesar-pa commented Sep 1, 2017

The lack of Doxygen block generation is the only thing stopping me to leave Sublime. I need to have something like DocBlockr.

@HallEffect
Copy link

I'd like to have something like DoxyDoxygen in Sublime to generate comment by Alt+Q

@Ikarium
Copy link

Ikarium commented Sep 13, 2017

ADDITIONALLY:

  • Syntax highlighting
  • (smart) Docstring generation (customisable)
  • Ability to run Doxygen and Doxyfile configurator from the ide.

I don't know what from that could be done by a plugin.

@rei-vilo
Copy link

rei-vilo commented Oct 8, 2017

Any update on that feature request? Thanks!

@sean-mcmanus
Copy link
Contributor

@rei-vilo Comments attached to variables are part of our ongoing work of porting code from VS. If you're asking for doxygen support that don't exist in VS code itself, then that would not something we currently have plans to add.

@rei-vilo
Copy link

rei-vilo commented Oct 9, 2017

Good to know, thank you for the feed-back.

@Trevinlc1997
Copy link

Definitely want! I hope this can come soon,

@moof2k
Copy link

moof2k commented Dec 12, 2017

+1

This was my favorite feature of Visual Studio and Visual Assist: https://docs.wholetomato.com/default.asp?W206

@loucyx
Copy link

loucyx commented Apr 30, 2018

👍

@Trevinlc1997
Copy link

I just want to bump and say this would be really helpful as documenting code without Doxygen just feels awkward, to be honest.

I'll have my friend learn the VSCode API just to try and implement something like requested ;)

@rainaby
Copy link

rainaby commented Aug 6, 2018

Do we have any updates on this?

@sean-mcmanus
Copy link
Contributor

@rainaby No updates. We haven't done any work on this feature and it's not on our schedule yet.

@creikey
Copy link

creikey commented Aug 7, 2018

Couldn't this be a simple extension?

@cschlosser
Copy link

cschlosser commented Aug 7, 2018

Couldn't this be a simple extension?

I tried and no it is not really. We're missing features from the language server. The Typescript server has the necessary information but the C/C++ one doesn't. If the information would be available it would be super eayy.

I'm really interested in this and the only way right now to do it would be to do some form of heuristic analysis on the source code (essentially reimplementing the whole Doxygen engine and keeping a seperate data base like intellisense) which is quite error prone.

@rainaby
Copy link

rainaby commented Aug 8, 2018

Is there a hack for now to get to work? Like using 2 different plugins to get it to work?

@microsoft microsoft deleted a comment from rei-vilo Aug 14, 2018
@Tanja-4732
Copy link

+1

Please have it support syntax highlighting inside of the Doxygen comments.
That'd be great.

❤️ VS ode

PS: Consider adding an extension-request-tag or something like that to this issue, in case you aren't interested in implementing this functionality natively.

@LeThiHyVong
Copy link

@Bernd-L I am using an alternative syntax parser (Reloaded C/C++ with Reloaded Themes), hope it usable.

@Tanja-4732
Copy link

@LeThiHyVong Yes, I've been using it too, however, it still lacks Doxygen-command auto-completion (=IntelliSense). Also, it can't display a popover-like bubble with the documentation of a method. (or something else).

The functionality described above really needs to be implemented into the Microsoft C++ plugin.

@sean-mcmanus sean-mcmanus added this to the November 2018 milestone Oct 19, 2018
@sean-mcmanus sean-mcmanus removed this from the December 2018 milestone Dec 7, 2018
@michelleangela
Copy link
Contributor

Example of Doxygen comments displayed on tooltip by the C/C++ extension:

image
image

@michelleangela
Copy link
Contributor

If you would like for the C/C++ extension to also generate stub Doxygen comments, please upvote the "Feature request - Doxygen stub generation" at #5683. Votes on features will help determine a feature's priority against other features or work items.

@sean-mcmanus
Copy link
Contributor

Doxygen comment support in hover, signature help, and completion is available now with https://github.com/microsoft/vscode-cpptools/releases/tag/0.29.0-insiders .

@rewrking
Copy link

rewrking commented Jun 25, 2020

Works awesome so far! I'm now spending an evening documenting my code... any plan to add support for @tparam (template parameters) though?

@ben-edna
Copy link

Great! Minor detail, our code-base uses the Qt-Style exclamation mark docblocks (/*! instead of /**), and the exclamation mark is shown in the hover.

@ebinans
Copy link

ebinans commented Jun 25, 2020

Fantastic! Another small detail - documentation block after members show /<, !< or < depending on chosen syntax.
https://www.doxygen.nl/manual/docblocks.html#memberdoc

@michelleangela
Copy link
Contributor

Works awesome so far! I'm now spending an evening documenting my code... any plan to add support for @tparam (template parameters) though?

The work to support @tparam is in progress.

@michelleangela
Copy link
Contributor

Great! Minor detail, our code-base uses the Qt-Style exclamation mark docblocks (/*! instead of /**), and the exclamation mark is shown in the hover.

The work to support Qt-Style exclamation mark /*! is in progress.

@Boddlnagg
Copy link

We have configured Doxygen to use \par instead of \param, can that somehow also be supported (probably through some setting?).
Also, for some reason we put our Doxygen comments in between the function signature and the opening {. Doxygen parses that just fine ... will that work here as well?

@michelleangela
Copy link
Contributor

We have configured Doxygen to use \par instead of \param, can that somehow also be supported (probably through some setting?).
Also, for some reason we put our Doxygen comments in between the function signature and the opening {. Doxygen parses that just fine ... will that work here as well?

@Boddlnagg , I created a new issue for your feature request at #5700

@michelleangela
Copy link
Contributor

michelleangela commented Jun 25, 2020

Fantastic! Another small detail - documentation block after members show /<, !< or < depending on chosen syntax.
https://www.doxygen.nl/manual/docblocks.html#memberdoc

@ebinans , I created a new issue for your feature request at #5701

@jhortenstine
Copy link

jhortenstine commented Jun 26, 2020

Is it possible to leave the commands that are not being converted? We use \note, \pre, and \post. The current behavior is that they don't show up in the tool tip at all.

@ben-edna
Copy link

ben-edna commented Jul 2, 2020

We sometimes use the \copydoc to not duplicate documentation when it is not needed. It would be great if the documentation of the mentioned symbol would be used for the tooltip.

@carlolars
Copy link

Looks great! Just one little detail.

We trim trailing whitespace in our source files, so if a doxy-comment is split in two lines then there is no space between the last word on the first line and the first word on the second line.

/**
 * Comment in
 * correct format
 */

becomes Comment incorrect format instead of Comment in correct format.

@sean-mcmanus
Copy link
Contributor

@carlolars What's the repro for that space issue? I'm not reproing it.

image

@carlolars
Copy link

carlolars commented Jul 7, 2020

@carlolars What's the repro for that space issue? I'm not reproing it.

It happens for functions if it has @return and/or @param, the examples below are failing for me.

/**
 * Comment in
 * correct format.
 *
 * @param arg1
 * @return int
 */
int func1(int arg1)
{
    return arg1;
}

/**
 * Comment in
 * correct format.
 *
 * @return int
 */
int func2(void)
{
    return 2;
}

/**
 * Comment in
 * correct format.
 *
 * @param arg1
 */
void func3(int arg1)
{
    (void)arg1;
}

@michelleangela
Copy link
Contributor

michelleangela commented Jul 7, 2020

@carlolars @sean-mcmanus
I was able to repro the issue on Visual Studio.
image

Edit:
I created a new issue #5741 for this and filed an issue on Visual Studio.

@magdumnikhil
Copy link

Only doxygen comments above function definition are parsed and shown over tooltip. Comments above function declaration are ignored.

Is there any setting which decides this?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Feature: Doc comments An issue related to code comments shown in hover, completion, and signature help. Feature Request fixed Check the Milestone for the release in which the fix is or will be available. Language Service
Projects
None yet
Development

Successfully merging a pull request may close this issue.