發表文章

Visual Studio 自動排版格式化程式碼

圖片
在團隊開發過程中,什麼時候是程式碼瘋狂修改的階段呢,
無非就是Code Review了,有時候卡個幾天或是幾個月都是有可能的,
裡面常出現的comment,每次幾乎都會出現的就是排版的問題,
例如空白多一個少一個,括號還沒換行等等的小瑕疵,
對於心思不夠細膩的人而言,真的十分的惱人

團隊中喜歡將大括號換行,
例如:
if(true)
{
  //code
}
else
{
  //code
}

那也許有些團隊喜歡:
if(true){
  //code
}else{
  //code
}

有時候不只括號要不要換行,連else要不要換行都有各自的喜好,
所以有時候要統一使用團隊規定的喜好真的會有眼殘的時候,
自己檢查老半天可能還是有漏網之魚,
但現在不用擔心啦!
只要使用Format 格式化文件就能為你分憂解勞,
設定方式如下:
編輯 > 進階 > 格式化文件




Visual Studio會根據你的環境設定幫你自動重新排版
設定方式如下:
工具 > 選項



切換到
文字編輯器 > C# >程式碼樣式 > 格式化 > 新行

這邊可以設定很多換行的邏輯,
將對應的項目打勾跟取消勾選,下面的黑色區域會顯示排版的格式,
可根據自己或是團隊的喜好去做調整,即可自動排出你想要的格式囉!


如果覺得 編輯 > 進階 > 格式化文件 這個選項太難找到,
可以參考這篇文章,將他加入在明顯的工具列區域喔
http://greens2314.blogspot.tw/2017/09/visual-studio-2015.html


將專案加入Git版控並上傳至遠端儲存庫

圖片
假設情況:想像你們團隊目前已經有一個專案,已經開發半年了,這時候主管去外訓,得知Git版控非常的好,他想使用Git來做專案程式碼的版控讓大家一起開發,請你好好研究如何將專案加入Git版控

目的:讓團隊可以更有效率的合作開發,並了解彼此之間修改的程式碼內容

處理方式:有兩種方法來將專案加入Git版控,以下使用TortoiseGit與Bitbucket示範

1. init 儲存庫 > 上傳到遠端儲存庫 在專案資料夾內產生一個.git的資料夾,這個資料夾就是負責做版控管理的
操作方法:在資料夾空白處按右鍵,選擇Git Create repository here



不要勾選 Make it Bare,按下OK。
若勾選的話是代表這個資料夾是專門拿來做版控的儲存中心,下文會提到,將使用Bitbucket來作為Remote Repository,能讓開發成員取得同一份程式碼



資料夾會自動產生一個名稱為.git的資料夾
代表專案已經可以開始使用Git版控囉!而這個包含.git的資料夾就是版控的工作區



若沒有看到.git資料夾的話,可以檢查一下資料夾設定是否有允許顯示隱藏的項目



接下來就是將專案內的程式碼加入版控,使用Git Commit來提交一個版本



勾選要加入此版本的程式碼,此時可以瀏覽一下檔案清單,如果有看到某些檔案是不想加入版控的,可以使用.gitignore來忽略它,例如下圖的.vs資料夾會根據使用者的電腦不同而有不同的內容,所以不適合加入版控,必須忽略它。先將下圖視窗案取消



點選.vs資料夾後按滑鼠右鍵,將.vs資料夾加入ignore list



將著選取忽略的方式,
Ignore Type:
忽略檔案的方式是針對這個單一的項目,還是其他資料夾內若也有相同的項目也要一併忽略,
例如:專案每個資料夾內都有一個readme.txt檔案,
ignore item(s) only in the containing folder(s):只是想排除特定一個
ignore item(s) recursively:想忽略全部的readme.txt,git會將整個工作區內的readme.txt忽略

Ignore File:
ignore list是由一個叫做.gitignore的檔案再管理的,此選項是在問你,此檔案要自動產生在哪裡
.gitignore in the reposito…

Visual Studio Test 套件

圖片
因不可抗拒因素必須從Visual Studio 2015 升級到Visual Studio 2017, 結果在寫整合測試時, 覺得開發過程困難重重, 還錯怪Visual Studio 2017, 想說也變得太難用了吧~ 結果是自己忘記安裝相關套件XD 是說久久裝一次真的很容易忘記, 特別筆記一下
Tools > Extensions and Updates
點選安裝之後, 要先關閉Visual Studio, 才會跑出安裝程式, 一直按下一步完成安裝, 在重啟vs

NUnit (testing frameworks) 如果沒有安裝無法轉寫Tests, 也取得Tests清單, 專案重build N次,
內建的Test Explorer視窗的Tests清單都是空白的, 所以要記得裝NUnit
Test Explorer可以執行Unit Test, 但貌似無法執行Integration test,
所以才裝AxoCover Test > Windows > Test Explorer

SpecFlow (supports popular testing frameworks: MSTest, NUnit (2 and 3), xUnit 2 and MbUnit.)
透過語意的方式來建立Test, 如果沒安裝是無法編輯Scenario的

AxoCover 如果沒有安裝無法執行Integration test


Tortoisegit 刪除已經不存在於遠端的分支

圖片
隨著branch不斷的成長, 會來越多
每次切換分支就要在落落長的下拉式選單慢慢尋找, 非常痛苦
雖然branch merge之後會習慣把遠端的branch刪掉, 但同事並不一定會這樣做啊XD
所以有源源不進的branch包含新開的跟已經merge的,
雖然我會將遠端中不需要的branch進行刪除, 例如我到遠端把test branch刪除
但似乎發現, 在Git Switch/Checkout時, 本機還是會看到romote/test這個選項,
不管我pull幾次, 感覺就是只會抓最新branch回來, 但已經刪除仍然存在下拉式選單中
(我明明就已經刪除了阿~~~)
實在是不解,
後來發現原來在Fetch時, 要把prune打勾
或使用指令 git fetch --prune
這樣才會將已經不存在遠端的分支刪除, 所以下拉式選單就真的不會出現 romote/test這個選項了





參考資料
https://stackoverflow.com/questions/3184555/cleaning-up-old-remote-git-branches

Visual Studio 將常用的選項加入至工具列

圖片
此篇以 加入Remove and Sort Usings為例子

在寫程式時,常常會import相關物件進來
這時候檔案最上方會新增很多using
白色的using表示這個物件有在此檔案中被引用到
灰色的using就是多餘的import,並沒有任何程式碼引用到
所以我們可以將灰色的using刪除


第一個方式:手動一個個刪除

第二個方式:使用內建工具刪除
Edit > IntelliSense > Organize Usings > Remove Unnecessary Usings


來看一下使用前後的比較圖,右邊是移除不需要的usings,程式碼是不是變得乾淨許多


但每一隻程式碼如果都要執行以下步驟
Edit > IntelliSense > Organize Usings > Remove Unnecessary Usings
真的會按到崩潰
所以我們可以將這個常用且隱藏在深處的選項加入到工具列


在工具列空白處按右鍵 > Customize



切換至Commands頁籤
選擇Toolbar > 選擇你要編輯的工具列 > 加入Command



在Edit下面,找到我們要加入的Remove and Sort


Remove and Sort已成功被加入
這邊可以觀察到Remove and Sort的左邊並沒有icon
放在工具列上時會直接以文字顯示
如果左邊有icon的話
放在工具列上面的按鈕就會以icon來做顯示


工具列上出現Remove and Sort的按鈕囉~


另外在選項中, 也可以設定一些進階選項

動手試試看把自己常用的選項加入工具列吧~
適用於vs2015/2017版本