代码之家  ›  专栏  ›  技术社区  ›  Steve

从C源文件中提取文档注释[已关闭]

  •  4
  • Steve  · 技术社区  · 15 年前

    有人知道有什么工具可以让你直接从.cs文件中提取注释到一些简单的文本,甚至是剪贴板上吗?如果这样的工具也可以在方法级别工作,那就更好了。

    我是 我在寻找类似于sandcastle的东西,它可以在构建时工作,我在寻找能够在单一源代码文件上工作的东西。基本上,我需要将一大块方法签名和相关的文档注释复制到一个文本文件中,但是我已经厌倦了删除“//”和重新格式化行。我希望能够右键单击一个方法,并沿着“将文档复制到剪贴板”的行有一个上下文菜单项。

    是否存在此类工具?

    3 回复  |  直到 15 年前
        1
  •  3
  •   kay.herzam    15 年前

    不用自己滚,看看 cr-documentor .

    cr_documentor是的插件 DXCore 你可以预览 文档的外观 渲染后-在工具窗口中 在Visual Studio中。

    它工作得很好,但我怀疑它和Resharper一起运行有点不稳定,所以我禁用它直到使用它。

        2
  •  6
  •   Community Ian Goodfellow    7 年前

    我刚写了一个工具,可以做到这一点。这只是几行代码,还没有完成,但是扩展非常简单(我明天可能会在某个地方完成)。

    结果:只需单击菜单中的“提取”,结果将显示在 剪贴板 .

    alt text

    两个非常简单的步骤:

    1. 编写一个以文件为参数的程序,从该文件中提取一些文本并将它们粘贴到剪贴板。
    2. 将该程序集成到您的IDE中。

    步骤1,第1部分 主程序,获取一个文件,将其发送到“提取器”并将结果写入剪贴板。

    class Program
    {
        [STAThread] 
        static void Main(string[] args)
        {           
            if (args.Length == 0) return;
            FileInfo f = new FileInfo(args[0]);
            Extracter e = new Extracter(f.OpenText().ReadToEnd());
            Clipboard.SetText(e.GetExtractedText());
        }
    }
    

    步骤1,第2部分 抽取器:当然,使用regex从中获取所有需要的文本模式,并返回一致的字符串。我已经对文章的密度发表了评论,因为这个原则很简单,已经解释过了。

    public class Extracter
        {
            private Regex re;
            // extend/adapt regex patterns for better result.
            const String RE_COMMENT_AND_NEXT_LINE= @"(?<=([\/]{3})).+";
    
            public string FileText { get; set; }
    
            public Extracter(String FileText)
            {
                this.FileText = FileText;
            }
    
            public String GetExtractedText() 
            {
                StringBuilder sb = new StringBuilder(String.Empty);
                re = new Regex(RE_COMMENT_AND_NEXT_LINE);
                foreach (Match match in  re.Matches(FileText))
                {
                    sb.Append(match.ToString());
                }
                return sb.ToString();
    
            }
        }
    

    第2步:添加到IDE

    当然,这取决于IDE,但总是容易的。查看我的VS2008屏幕截图:

    alt text

        3
  •  2
  •   Mutant    15 年前

    注释窗体.cs文件自动转到XML文件。说明如下:

    • 打开项目属性->生成
    • 转到底部,有“输出”部分
    • 启用“XML文档文件”复选框并设置此文件的输出路径
    • 当您构建代码时,这个文件将复制您的代码的所有文档。

    一旦你从你的项目中得到了所有的评论,你就可以随心所欲地使用它。

    http://msdn.microsoft.com/en-us/magazine/cc302121.aspx

    建议:

    您可以在日常工作中禁用它,就像增加了项目大小一样,在构建过程中生成此文件需要一些时间,因为它需要增加所有注释。只需在释放代码时运行,以便获得所有文档。