C++ (Visual Studio) 的注释弹出窗口,类似于 Eclipse 和 Javadoc

Posted

技术标签:

【中文标题】C++ (Visual Studio) 的注释弹出窗口,类似于 Eclipse 和 Javadoc【英文标题】:Comment pop-up windows for C++ (Visual Studio), similar to Eclipse and Javadoc 【发布时间】:2012-01-06 08:01:37 【问题描述】:

在大学期间,我学习了 Java 编程,这是我在 Eclipse 中完成的。我喜欢 Eclipse 中关于 Javadoc cmets 如何在窗口中弹出的特性。目前我正在编写 C++,我真的开始怀念这个功能。

这就是我要问的原因:是否有插件可以实现相同的结果。目前我正在用 Visual Studio Express 2010 编写 c++,除了在自动完成窗口中显示一个函数接口外,没有类似的东西。我想阅读更多信息,例如阅读前置条件和后置条件,例如现有库中的代码(如果存在)或仅适用于我自己编写的代码。

现在我知道 Doxygen,但它并不是我真正想要的。这是一个足够好的回退机制,但我真的很喜欢在我编写代码的同一个窗口中随时使用它。

Visual Studio 是否存在类似的东西?或者我可以开始使用 C++ 版本的 Eclipse 并在那里运行 Javadoc 生成器(我实际上没有尝试过这个!)来获得那些漂亮的弹出式 cmets?

编辑: 我一直在尝试让 XML 样式的 cmets 工作,但类似于:

/// <summary>This constructor takes parameters to set the 
/// members of the Cow class.
/// <param name="ho">Hobby as string of the cow.</param>
/// <param name="wt">Weight of the cow as a double.</param>
/// </summary>
Cow(const char * nm, double wt);

在弹出窗口中仍然只给我字符串“Cow(const char * nm, double wt)”。使用 \doc 选项构建,我确实生成了一个 .xml 文件(在我的 Debug 文件夹中)。

【问题讨论】:

你试过评论文档标签吗? msdn.microsoft.com/en-us/library/ms177227(v=vs.80).aspx 我做到了,但是在为我的项目激活 /doc 选项并构建了解决方案之后,我没有得到我在 XML 注释中提供的任何其他信息。下面的示例仍然只给我“Cow(const char * nm, double wt)”,没有其他信息 .xml 文件在我的调试文件夹中。 好的,所以完成不会利用 C++ 的 cmets... VS 的坏点!而且我不是在谈论文档生成,只是为了做同样的 Carlito 在他的回答中所说的。 【参考方案1】:

在 C# 中你可以编写

///

它会生成一个 XML 样式的注释,例如:

/// <summary>
///
/// </summary>
/// <param name="parameter"> </param>
/// <returns> </returns>

您可以让 Visual Studio 生成一个 XML 文件,该文件可以被处理以获得类似 javadoc 的内容。我 100% 确定它适用于 C#,但似乎 C++ 使用了不同的风格。如果我转到项目选项 > 配置选项 > XML 文档生成器 > 常规,并将“验证 IntelliSense”设置为是,则可以将 cmets 放入 .h 文件中:

class Test 
    public:
        // The constructor
        Test(void);
        // The destructor
        ~Test(void);
        // The function description
        void Function();
;

如果我转到我的 main.cpp,然后输入:

Test * test = new Test();
test->

当我点击“>”时,会弹出一个带有函数列表的框(本例中为析构函数和函数)。例如,如果我选择函数,则会弹出一个带有“函数描述”的工具提示:

void Test::Function();

The function description
File: test.h

不知道有没有插件,希望能帮到你一点!

【讨论】:

查看 Visual Studio Express 项目属性后,项目选项 > 配置选项 > XML 文档生成器 > 常规中没有“验证 IntelliSense”项(类似的东西)。【参考方案2】:

如果你有 CodeRush/Refactor,你可以试试 CR_Documenter 插件(使用 VS Extension Manager)。它提供了一个带有此类文档的新可停靠窗口。

我与你同在 - Eclipse 更适合查看文档。

【讨论】:

【参考方案3】:

使用 SandCastle 与内置帮助 (F1) 集成。它不如您在 Eclipse 中获得的内联帮助,但您可以将鼠标悬停在某个类型上,按 F1 即可。

为此,请安装 Sandcastle 和 Sandcastle 帮助文件生成器。然后在您的 Sandcastle Help File Builder 项目中,确保选中 MSHelpViewer 框。这将生成文档和一个脚本,您可以运行该脚本将您的自定义文档集成到 F1 帮助中。

【讨论】:

我在网上快速浏览了一下。如果我理解正确,Visual Studio 的插件允许 F1 键检索使用 Sandcastle 帮助文件生成器创建的代码文档。因此,这可能确实是上述 Visual Studio 版本的答案。我确实理解正确吗?如果你一定要使用 Express 版本,你可能会被卡住。

以上是关于C++ (Visual Studio) 的注释弹出窗口,类似于 Eclipse 和 Javadoc的主要内容,如果未能解决你的问题,请参考以下文章

C++ 方法的 Visual Studio 2010 工具提示注释

在 Visual Studio 2010 C++ 中为 /// 生成 XML 文档注释

在 C++ 中添加多行注释时如何在 Visual Studio 2010 中启用自动星号?

visual studio code终端输出为啥会乱码

c++ 函数模板的问题,请看代码,为啥去掉注释后,visual studio 2012会无法运行。

如何在 Visual Studio 中自动将预处理器和注释块插入到新的 C++ 头文件中?