vs自动添加注释

:)也是服了我自己了,事到如今代码写的一团糟才想到要自动化注释显得的美观一点。凉凉。因为我的vs2013是独立安装的,vs2017是装Unity的时候在Unity下安装的。


首先说vs2013怎么自动生成头部注释

找到vs2013的安装位置,在该路径下面,找到class文件,用笔记本或者notepad++什么的都行,把它打开

E:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class

在文件头部添加

/**
*┌──────────────────────────────────────────────────────────────┐
*│ 描   述:                                                    
*│ 作   者:Keneyr                                              
*│ 版   本:1.0                                                 
*│ 创建时间:$time$                             
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│ 命名空间: $rootnamespace$                                   
*│ 类   名:$safeitemname$                                      
*└──────────────────────────────────────────────────────────────┘
*/

于是当你在工程中添加新的类文件的时候,就会自动出来这个注释了,如下:

/**
*┌──────────────────────────────────────────────────────────────┐
*│ 描   述:                                                    
*│ 作   者:Keneyr                                              
*│ 版   本:1.0                                                 
*│ 创建时间:2019/3/19 15:20:47                             
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│ 命名空间: Mesh2DV1                                   
*│ 类   名:Class1                                      
*└──────────────────────────────────────────────────────────────┘
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Mesh2DV1
{
    class Class1
    {
    }
}

那么如何做到让函数也自动添加头部注释呢?似乎需要vs工具的拓展里下载VAssistX插件,这里我先不做实验了。可以参考该博客:

https://blog.csdn.net/ranjiewen/article/details/52595403


然后是vs2017中自动添加注释,我发现我的vs2017中找不到相关文件:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\ItemTemplates\CSharp\General\1033

那么应该怎么办呢。。。

找到Unity的安装位置,找到81开头的那个文件,没错这里就是我点击的位置,Unity中的脚本创建使用的是模板拷贝,拷贝的就是这个文件夹下的脚本:

D:\Program Files\Unity\Editor\Data\Resources\ScriptTemplates

然后打开它,在头部添加:

/**
*┌──────────────────────────────────────────────────────────────┐
*│ Description:                                                    
*│ Author:Keneyr                                              
*│ Version:#VERSION#                                                
*│ Date:#DATE#                              
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│ NameSpace: #rootnamespace#                                   
*│ ClassName:#SCRIPTFULLNAME#                                      
*└──────────────────────────────────────────────────────────────┘
*/

这时候,自动创建的cs文件并不能自动识别出路径,效果是这样的:

还需要后面一步,创建文件,应该不一定非得在Editor文件夹下创建该文件,在哪里创建都行,读者可以一试:

using UnityEditor;
using UnityEngine;
using System.IO;

public class AddFileHeadComment : UnityEditor.AssetModificationProcessor
{
    /// <summary>
    /// 此函数在asset被创建完,文件已经生成到磁盘上,但是没有生成.meta文件和import之前被调用
    /// </summary>
    /// <param name="newFileMeta">newfilemeta 是由创建文件的path加上.meta组成的</param>
    public static void OnWillCreateAsset(string newFileMeta)
    {
        string newFilePath = newFileMeta.Replace(".meta", "");
        string fileExt = Path.GetExtension(newFilePath);
        if (fileExt != ".cs")
        {
            return;
        }
        //注意,Application.datapath会根据使用平台不同而不同
        string realPath = Application.dataPath.Replace("Assets", "") + newFilePath;
        string scriptContent = File.ReadAllText(realPath);

        //这里实现自定义的一些规则
        scriptContent = scriptContent.Replace("#SCRIPTFULLNAME#", Path.GetFileName(newFilePath));
        scriptContent = scriptContent.Replace("#AUTHOR#", "Keneyr");
        scriptContent = scriptContent.Replace("#VERSION#", "1.0");
        scriptContent = scriptContent.Replace("#UNITYVERSION#", Application.unityVersion);
        scriptContent = scriptContent.Replace("#DATE#", System.DateTime.Now.ToString("yyyy-MM-dd"));

        File.WriteAllText(realPath, scriptContent);
    }

}

 随处创建一个cs文件,效果如下:

/**
*┌──────────────────────────────────────────────────────────────┐
*│ Description:                                                    
*│ Author:Keneyr                                              
*│ Version:1.0                                                
*│ Date:2019-03-19  
*│  UnityVersion: 2018.3.0f2                            
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│                                    
*│ ClassName:NewBehaviourScript.cs                                      
*└──────────────────────────────────────────────────────────────┘
*/
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

很遗憾没整函数头部注释啊。等我下载完破解文件之后再来续。


恩,然后我下载了文件,点击exe进行安装,提醒我有2013和2017,继续安装,感到害怕,C盘快要红了····发现一件很神奇的事情,之前C盘就已经红了,最少的时候只有7个G可用,后来没管它也没删除什么东西,今天一看竟然有20个G可用。这是为什么?:

然后先来试试看vs2017进入到这个目录:

C:\Users\Keneyr\AppData\Local\Microsoft\VisualStudio\15.0_6e0404ef\Extensions\y5t0rvlk.5tz

用安装包中的dll文件替代这个文件夹下面的dll文件:

打开2017的时候竟然提示我这个,哈哈哈哈好开心,我爱visual studio!!!!!!

vs2013的是C:\Users\Keneyr\AppData\Local\Microsoft\VisualStudio\12.0\Extensions\qocyitr5.si0 ,以此类推


那么怎么用这个插件呢?

1.首先我要修改VAssistX默认缓存文件路径防止默认C盘被占用空间过大:打开注册表HKCU\Software\Whole Tomato,新建UserDataDir,数值为要修改的路径,如下图:

现在就来看一下添加函数注释

将光标移到函数名处,右键鼠标选择Refactor\Document Method可自动帮我们添加函数的注释。但是这里默认的函数注释太丑了。我们可以自己配制自定义的注释格式。选择菜单:VAssistX\Insert VA Snippet…\Edit VA Snippet…进行设置。

 这里可以尽情的修改自己想要的函数注释格式:

啊啊啊啊啊啊,好漂亮啊。。。太好看了有木有。。。。好喜欢啊。。。。星星眼。。。。

但是这里我的vs里面,如果英文拼错了还有中文的话,就会有红色波浪线:

于是,直接在插件下面选择Enable的那个选项就能开开关关啦。。。。。。。。。。或者酱紫,把红色勾勾去掉就行了:

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,微软赛高!!!!!!!!!!!!为什么能开发粗这么好看这么性感这么好用的IDE啊啊啊啊啊啊啊

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

keneyr

老爷~给小的赏点盘缠吧555~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值