- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
谷歌搜索后我发现了这个:Use a Visual Studio Macro to Insert Copyright Headers into Source Files .它看起来很有希望:
// <copyright file="Sample.cs" company="My Company Name">
// Copyright (c) 2012 All Rights Reserved
// </copyright>
// <author>Leniel Macaferi</author>
// <date>08/30/2012 11:39:58 AM </date>
// <summary>Class representing a Sample entity</summary>
当我尝试 Tools -> Macros
菜单选项时,它在 VS 2012 中不再存在。证据如下:Macros in Visual Studio 11 Developer Preview .他们只是放弃了这个功能。 :(
所以,我只是想知道我可以使用哪个选项将版权信息添加到我使用 Visual Studio 2012 的解决方案中的所有现有源代码文件。是否有任何标准方法可以使用模板文件 (与T4 模板
) 或PowerShell
脚本相关的内容?我可以编写一些代码来遍历具有 .cs
扩展名的文件并添加版权信息,但这不是我想要的。我想了解一些可以自动执行此过程的工具。
最佳答案
您可以创建一个新的代码段,只需键入 cp + 双制表符即可在您想要的位置插入通知(不用说,您可以将关键字更改为任何您想要的)。
唯一的问题是,据我所知,片段不支持时间函数,因此使用此技术获取日期行的当前时间似乎是不可能的。一个不太好的解决方法是使时间字段可编辑(类似于 mbox 代码段的工作方式)并手动插入时间。
下面是一个片段的外观示例。下面的代码片段将自动获取类名,并在您键入“版权”和双制表符的地方插入版权声明。
方法一
<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>Copyright</Title>
<Shortcut>Copyright</Shortcut>
<Description>Code snippet for Copyright notice</Description>
<Author>author name</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal Editable="false">
<ID>classname</ID>
<Function>ClassName()</Function>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[// <copyright file="$classname$" company="My Company Name">
// Copyright (c) 2012 All Rights Reserved
// <author>Leniel Macaferi</author>
// </copyright>
]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
方法二
另外,这里有一个程序示例,您可以编写一个程序来为您执行此操作。
List<string> files = new List<string>()
{
"c:\\Form1.cs",
"c:\\Form2.cs",
};
foreach (string file in files)
{
string tempFile = Path.GetFullPath(file) + ".tmp";
using (StreamReader reader = new StreamReader(file))
{
using (StreamWriter writer = new StreamWriter(tempFile))
{
writer.WriteLine(@"// <copyright file=" + Path.GetFileNameWithoutExtension(file) + @" company=My Company Name>
// Copyright (c) 2012 All Rights Reserved
// </copyright>
// <author>Leniel Macaferi</author>
// <date> " + DateTime.Now + @"</date>
// <summary>Class representing a Sample entity</summary>
");
string line = string.Empty;
while ((line = reader.ReadLine()) != null)
{
writer.WriteLine(line);
}
}
}
File.Delete(file);
File.Move(tempFile, file);
}
当然需要一些错误捕获。但这应该让您大致了解如何围绕它构建 UI 并添加您要处理的文件。
方法三
也可以更改通常可以在以下位置找到的类的模板:
C:\Program Files (x86)\Microsoft Visual Studio <version>\Common7\IDE\ItemTemplates\CSharp\1033\
有时还需要编辑 ItemTemplatesCache 才能显示结果。
这是一个基于您的问题的示例模板:
using System;
using System.Collections.Generic;
$if$ ($targetframeworkversion$ >= 3.5)using System.Linq;
$endif$using System.Text;
/* <copyright file=$safeitemrootname$ company="My Company Name">
Copyright (c) 2012 All Rights Reserved
</copyright>
<author>Leniel Macaferi</author>
<date>$time$</date>
<summary>Class representing a Sample entity</summary>*/
namespace $rootnamespace$
{
class $safeitemrootname$
{
}
}
关于c# - 在 Visual Studio 2012 中的所有源代码文件中插入版权声明/横幅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12199409/
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 11 年前。 Improve thi
我开发了一个 iOS 应用程序,我们可以在其中将表情符号从 iOS 发送到门户网站,反之亦然。从 iOS 发送到门户网站的所有表情符号都显示完美,除了“©和®”。 这是表情符号编码的一段代码。 NSD
我是 R 的新手。能够使用 R 控制台安装一个名为 KernSmooth 的包。有什么地方可以找出 KernSmooth 的版权信息吗?下面是我所做的。 > install.packages("Ker
在 XAML 文件中放置版权声明是否有标准?在 .cs 文件中,我使用以下内容: //---------------------------------------------------------
有人知道为什么 © 和 ® 不能像 ™ 和 ℠ 那样在不影响前导(即 line-height )的情况下很好地上标吗? 我试过用 包裹 © 和 ®甚至但我无法让它按照我需要的方式工作。有时更改字体大
我想将我们公司的版权信息添加到我们所有现有的源代码文件中。 该项目是在Eclipse 中开发的。因此,对于新文件,我可以按照建议修改设置 here .但是对于现有文件,我应该怎么做。我如何修改数百个j
我正在尝试清理数据库输入并发现 Ⓡ 字符有问题。 Ⓡ 转换为 Ⓡ 即使在变量周围使用 html_entity_decode。 这是一个问题,因为该字段在数据库中只允许 4 个字符。 ® 实
我可以将 Alt 键与数字键盘结合使用来键入符号,但如何以编程方式将符号(英镑、欧元、版权)插入文本框? 我有一个配置屏幕,所以我需要动态创建\uXXXX。 最佳答案 在 C# 中,Unicode 字
每个 Delphi 的 VCL 源文件都有这样的标题: {*******************************************************} {
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我在对特殊字符进行 JSON 编码时遇到问题。这些字符在我的电脑、记事本、浏览器甚至我的数据库中都能正常显示。但是,它们不进行 JSON 编码。示例如下: site.com 之后的版权符号使 JSO
我目前正在将应用程序从 GMaps V2 迁移到 V3。由于我使用 OSM 和其他非 Google map 图层,因此我希望将版权声明保留在右下角。但是reference documentation对
我在工作中需要使用 Google map API v3,而他们给我的设计没有谷歌放在 map 下部的 Logo /页脚/版权。好吧,我需要禁用或隐藏它,因为我被告知无论如何我都需要匹配确切的设计。 我
我是一名优秀的程序员,十分优秀!