【问题标题】:Is it possible to add a reference or link to a method or property?是否可以向方法或属性添加引用或链接?
【发布时间】:2013-04-03 11:36:23
【问题描述】:

我倾向于在 1 种方法中编写相当多的 cmets。有时我指的是另一个类中的另一个方法或属性。它是这样的:

//如果你取消注释下一行,那么请确保你检查'MyClass.SomeMethod'。

[更新]
试图希望给出更少的代码臭味评论。也许它可能会像(谢谢@Weston):

/// <summary>
/// Adds two numbers  
/// See method Subtract for the opposite of add.
/// See also Multiply
/// </summary>

也许可以在方法中编写类似的内容? @weston 的回答进一步帮助了我。 [/更新]

我正在寻找可以使其可点击的东西。 是否有任何现有的扩展/插件/添加可以做这样的事情?

【问题讨论】:

  • 你在进行动态调用吗?
  • 您可以选择文本并按 ctrl+comma 以“导航到”并预先输入值...这样好吗?
  • 您可能还想在您的 cmets 中使用此语法:msdn.microsoft.com/en-us/library/acd0tfbe.aspx
  • 在@MarcGravell 的扩展中,您还可以突出显示、右键单击并转到定义?
  • @Justin 很确定这不起作用,但很高兴显示错误

标签: c# visual-studio visual-studio-addins comments


【解决方案1】:

如果您有 resharper,则可以使用 documentation comment solution + F12 导航到定义。

    /// <summary>Adds two numbers
    /// <para>See <see cref="Subtract"/> for the opposite of add.</para>
    /// See also <seealso cref="Multiply"/>
    /// </summary>
    public int Add(int x, int y){

光标在SubtractMultiply 然后F12 将带你到那里。请注意,我已尝试关闭 resharper,但它不起作用。

此外,resharper 将在这些 cmets 中应用重命名重构。

【讨论】:

    【解决方案2】:

    无论如何,这都是一个坏主意,如果您必须包含有关代码其他区域的注释,如果您在一个地方执行某些操作可能会破坏/更改功能,那么您的代码可能需要重新考虑。

    除此之外,我建议您查看 Visual Studio 扩展库,可能会有适合您需求的扩展。

    如果没有查找扩展 Visual Studio 的指南,这样做的扩展可能不会太难自己组装。

    【讨论】:

    • 最后一行:扫描每条评论的每个单词,看看它是否可能是成员名/类型名 - 对于大型项目,我看不到结局很好。
    • @MarcGravell 是的,我可以想象这会导致问题,开发一些策略来专门将评论行标记为包含链接是可行的,但我同意,这样做完全是疯狂的。我认为首先想要这样的功能或创建这样的 cmets 是错误的,但如果需要,它会提供某种形式的解决方案。
    • 不管什么原因。也许我写了某些 cmets 来帮助新人或其他什么。你的回答没有回答我的问题。
    • @TweeZz 我不同意,理想情况下,您应该避免直接 cmets 指向其他代码段,因为事情可能会发生变化,不久之后 cmets 就会偏离代码的现实。如果您需要信息,则应维护单独的文档或使用更高级别的“检查执行 x 的类”类型的注释。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 2017-03-16
    相关资源
    最近更新 更多