VS中如何快捷地給自己的代碼添加創建信息註釋 Intro 以下討論的都是沒有使用 GIT 來管理源代碼的情況,如果使用 GIT 管理源代碼可直接使用VS的Git擴展就不需要考慮以下問題。 什麼是創建信息註釋? 創建信息註釋,類似於文件的創建信息,一般來說,至少要有創建人和創建時間。如果說有人修改了方 ...
VS中如何快捷地給自己的代碼添加創建信息註釋
Intro
以下討論的都是沒有使用 GIT 來管理源代碼的情況,如果使用 GIT 管理源代碼可直接使用VS的Git擴展就不需要考慮以下問題。
-
什麼是創建信息註釋?
創建信息註釋,類似於文件的創建信息,一般來說,至少要有創建人和創建時間。如果說有人修改了方法也應該添加一個更新信息註釋。
-
為什麼要添加創建信息註釋?
可能在一個人編碼的時候,創建信息註釋並不太重要,但是如果許多人共同維護一個項目,並且經常會出現多個人修改同一個文件的代碼 時,這就顯得很重要了,哪裡的代碼出現了什麼問題,可以直接責任到人,誰改的代碼出現了問題就應該誰去修改代碼。
創建信息註釋
-
找解決方案 最初的想法是重寫 VS 內置的文檔註釋,然而並沒有找到這樣的解決方案。找到的基本都是修改新建類或介面時模板文件從而添加註釋,並沒有在方法上加註釋 的解決方案。
這個方案否定之後,嘗試著使用自定義代碼段來實現在生成註釋的基礎上再添加創建信息註釋。
-
自定義代碼段
自定義代碼段參考示例:
1 <?xml version="1.0" encoding="utf-8"?> 2 <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 3 <CodeSnippet Format="1.0.0"> 4 <Header> 5 <Title>cm</Title> 6 <Shortcut>cm</Shortcut> 7 <Description>新建代碼註釋 的代碼片段</Description> 8 <Author>liweihan</Author> 9 <SnippetTypes> 10 <SnippetType>Expansion</SnippetType> 11 </SnippetTypes> 12 </Header> 13 <Snippet> 14 <Declarations> 15 <Literal> 16 <ID>Description</ID> 17 <ToolTip>方法描述</ToolTip> 18 <Default>方法描述</Default> 19 </Literal> 20 <Literal> 21 <ID>Author</ID> 22 <ToolTip>作者</ToolTip> 23 <Default>liweihan</Default> 24 </Literal> 25 <Literal> 26 <ID>CreateDate</ID> 27 <ToolTip>日期</ToolTip> 28 <Default>@@Today</Default> 29 </Literal> 30 </Declarations> 31 <Code Language="csharp"> 32 <![CDATA[/// <summary> 33 /// $Description$ 34 /// @Author:$Author$ 35 /// @CreateDate:$CreateDate$$end$ 36 /// </summary>]]> 37 </Code> 38 </Snippet> 39 </CodeSnippet> 40 </CodeSnippets>
這樣的代碼段還有許多不足,現在作者是寫死的,創建時間需要再插入代碼段之後再進行手動修改, 我希望能夠自動生成作者和當前日期, 作者寫死的問題不大,因為這個代碼段只我一個人使用,直接寫死反而更方便,這裡使用一個變數方便進行修改, 關鍵是當前日期沒有辦法獲取到,查閱了很多資料,代碼段並不支持直接插入當前日期,stackoverflow 上有人討論過這個問題,解決方案是利用巨集自動生成當前日期,但是文中提到的解決方案不可用,不過倒給了我解決問題的思路——利用巨集去插入當前日期。
-
巨集插入當前日期 我在 VS 的 擴展與更新 中下載了一個 管理巨集的插件—— Macros for Visual studio
下載安裝之後需要重啟 VS ,重啟之後在 菜單欄中的工具下就可以看到:
這個巨集管理器自帶了一些 Samples ,其中有一個可以插入日期的巨集
選擇 Assign Shortcut 進行設置快捷鍵就可以在 VS 中使用啦,預設的格式是 “mm/dd/yyyy”
如果你像我一樣不喜歡預設的日期格式,可以在對應項上右鍵選擇“打開”,進行編輯,裡面是 js 代碼,有一些 js 基礎的話修改起來會 更方便,我修改了下代碼,將日期格式修改為了“yyyy-MM-dd”格式。
-
完整操作流程
- 首先,在方法體上輸入“///”,VS 會自動生成預設的文檔註釋,先寫好註釋
- 複製
<summary>
部分的註釋,選中<summary>
部分,參數及返回信息保留,輸入定義好的代碼段快捷鍵,雙擊 Tab 鍵插入代碼段 - 將複製的註釋粘貼到
方法描述
處,添加註釋 - 按 Tab 鍵切換到 當前日期,在
@@Today
處,按設置的插入當前日期的巨集快捷鍵,VS 會自動插入當前日期
更新信息註釋
更新信息代碼段示例:
1 <?xml version="1.0" encoding="utf-8"?> 2 <CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"> 3 <CodeSnippet Format="1.0.0"> 4 <Header> 5 <Title>up</Title> 6 <Shortcut>up</Shortcut> 7 <Description>更新代碼註釋 的代碼片段</Description> 8 <Author>liweihan</Author> 9 <SnippetTypes> 10 <SnippetType>Expansion</SnippetType> 11 </SnippetTypes> 12 </Header> 13 <Snippet> 14 <Declarations> 15 <Literal> 16 <ID>Description</ID> 17 <ToolTip>更新描述</ToolTip> 18 <Default>更新描述</Default> 19 </Literal> 20 <Literal> 21 <ID>UpdatedBy</ID> 22 <ToolTip>更新人</ToolTip> 23 <Default>liweihan</Default> 24 </Literal> 25 <Literal> 26 <ID>UpdatedDate</ID> 27 <ToolTip>日期</ToolTip> 28 <Default>@@Today</Default> 29 </Literal> 30 </Declarations> 31 <Code Language="csharp"> 32 <![CDATA[/// $Description$ @UpdatedBy:$UpdatedBy$ @UpdatedDate:$UpdatedDate$$end$ ]]> 33 </Code> 34 </Snippet> 35 </CodeSnippet> 36 </CodeSnippets>
將自定義代碼段添加到 VS
- 在 VS 中打開代碼段管理器
- 選擇語言為 “CSharp”,選中“My Code Snippets”,複製位置中的路徑,併在資源管理器中打開路徑
- 將自定義的代碼段(*.snippet)拷貝到上一步打開的目錄中,重啟VS就可以了