發表文章

Visual Studio 2017 讓多個專案開啟在同一個瀏覽器

圖片
簡單記錄一下今天遇到的問題

更新到15.7.3之後

發現開始偵錯時,又再次遇到開啟多個瀏覽器的問題

如下圖,當你要一次開啟多個專案時,畫面一直開新瀏覽器出來



在15.6.2版本也有遇到一樣的問題

那時候是使用以下設定排除此問題,可以將下列項目取消勾選

工具 > 選項 > 偵錯 > 一般 > 為ASP.NET啟用Javascript偵錯(Chrome、Edge及IE)

Tools > Options > Debugging > General > Enable JavaScript debugging for ASP.NET (Chrome, Edge and IE)

就可以讓多個專案開啟在同一個瀏覽器當中,透過多個標籤或分頁(Tab)去區分專案



如下圖,方案中有三個專案,在開始偵錯後,會自動開啟一個或目前使用中的Chrom瀏覽器,並將這三個專案透過分頁的方式開啟在同一個瀏覽器中




在Visual Studio 2015時就預設是將多個專案開在同個瀏覽器,只是換到2017後,預設變成開啟獨立的瀏覽器,有點無法適應,所以把這功能關閉

升級到15.7.3又出現開啟多個瀏覽器的問題,而且關閉其中一個瀏覽器,專案會停止偵錯

讓我更困擾了!找了好久終於找到設定方式

使用以下設定排除此問題,請將下列項目取消勾選

工具 > 選項 > 專案與方案  > Web 專案 > 關閉瀏覽器視窗時,停止偵錯工具

Tools > Options > Projects and Solutions > Web Projects > Stop debugger when browser window is closed



平常是用英文版的,但也把中文的部分寫一下XD

參考資料:
https://stackoverflow.com/questions/40729535/how-to-stop-browser-closing-automatically-when-you-stop-debugging-on-vs-2017


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