Posts
PL/SQL SQL CODING GUIDELINE 40 - Always label your loops
條款四十,如果程式中有 loop,嘗試使用 label 讓他的區塊範圍更為清楚。
像是下面這樣的程式:
BEGIN FOR r_employee IN (SELECT * FROM emp) LOOP … END LOOP; END; 可以像下面這樣改寫,在 loop 的前面加上 Label,然後在 End 後加上 Label Name。
BEGIN <<process_employees>> FOR r_employee IN (SELECT * FROM emp) LOOP … END LOOP process_employees; END; 這樣程式碼的區塊範圍清楚許多。
read morePosts
Visual Studio 2017 - Live unit testing
要啟動 Visual Studio 2017 Live Unit Testing 功能,可點選 [Test | Live Unit Testing | Start] 主選單選項。
啟動後單元測試會持續在背景運行。
可在開發程式時即時看到測試的狀況與覆蓋情形。
需注意的是這功能需要 MSTest V2 才能啟用,舊測試專案需要移除 Microsoft.VisualStudio.QualityTools.UnitTestFramework 的參考。
加入 MSTest.TestFramework 套件。
加入 TestAdapter 套件。
最後調整命名空間即可。
read morePosts
Visual Studio 2017 - Improved Code Navigation
Visual Studio 2017 對程式碼的巡覽做了些強化,[Edit | Go To] 主選單選項內有著所有的巡覽功能。
像是 Go To All... (熱鍵 Ctrl+T)
Go To Line... (熱鍵 Ctrl+G)
Go To File... (熱鍵 Ctrl+1, Ctrl+F)
Go To Type... (熱鍵 Ctrl+1, Ctrl+T)
Go To Symbol... (熱鍵 Ctrl+1, Ctrl+S)
Go To Member... (熱鍵 Ctrl+1, Ctrl+M)
也可以記住搜尋框認的關鍵字,像是 Go To Line... 是用 :、Go To File... 是用 f、Go To Type... 是用 t、Go To Symbol... 是用 #、Go To Member... 是用 m,這樣會更方便使用。
read morePosts
Visual Studio 2017 - Find all references
Visual Studio 2017 針對 Find all references 視窗做了些強化,在要查詢 Reference 的地方按下滑鼠右鍵,在彈出的滑鼠右鍵快顯選單中點選 Find All References 選單選項,將 Find all references 視窗開啟。
開啟後會看到該視窗跟 Visual Studio 2017 以前有些許不同,上方工具列有些差異,結果也改以群組的方式呈現。
上方工具列有下拉式選單可供我們選擇是找尋整個方案、開啟的文件、當前專案、當前文件。
也提供向前巡覽 reference (也可用熱鍵 Shift + F8 觸發)。
向後巡覽 reference (也可用熱鍵 F8 觸發)。
也有下拉選單可以改變群組的方式,像是預設的 Project then Definition 群組,會先以專案再以程式碼的定義去群組:
Definition Only 會以程式碼的定義去群組:
Definition then Project 會先以程式碼定義再以專案去群組:
Definition then Path 會先以程式碼定義再以專案路徑去群組:
Definition, Project then Path 會先以程式碼定義再以專案最後以專案路徑去群組:
不同的群組方式適用於不同的使用情境,可視需求調整使用。
若有需要進一步篩選,可利用上方的搜尋框。
若要保留搜尋結果供後續使用,可按下 Keep Result 按鈕。
這樣再次搜尋 Reference 時就不會重用本來的視窗。
而會使用新的視窗。
read morePosts
Visual Studio 2017 - Roaming Extension Manager
Visual Studio 2017 以前安裝的 Extension 無法同步,所以在不同電腦間 Extension 都需要自行安裝。
Visual Studio 2017 以後新增了 Roaming Extension Manager,可用來設定要同步的 Extension。只要開啟 Extensions and Updates 視窗,切到 Roaming Extension Manager 頁面,在想要同步的 Extension 後面按下 Start Roaming 按鈕,指定的 Extension 即可同步到不同電腦。
read morePosts
Visual Studio 2017 - Modify extensions in bulk
Visual Studio 2017 以後使用 Extensions and Updates 視窗進行 Extension 的修改。
修改的 Extension 會被加入排程,排程的 Extension 可以在 Extensions and Updates 視窗的右下角看到,若有需要也可以將排程刪除。
接著將 Visual Studio 關閉。
排程的 Extension 即會開始運行對應的動作。
read morePosts
SonarQube - Setup MySQL database
要讓 SonarQube 使用 MySQL 資料庫,需先在伺服器中安裝 MySQL 資料庫。
接著要設定 MySQL 資料庫,可先將下列 SQL 語法存放至副檔名為 SQL 的檔案 (這邊筆者選用 create_database.sql)。
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER sonar@localhost IDENTIFIED BY 'password'; CREATE USER sonar@'%' IDENTIFIED BY 'password'; GRANT ALL ON sonar.* TO sonar@localhost; GRANT ALL ON sonar.* TO sonar@'%'; 接著使用 mysql -u -root -p < create_database.sql 將 SQL 送到 MySQL 運行。
然後要設定 SonarQube 的設定檔 sonar.properties,sonar.jdbc.username 與 sonar.jdbc.password 這邊要設定 MySQL 的帳密,sonar.jdbc.url 設定這邊要將註解拿掉。
read morePosts
Visual Studio 2017 - Reattach to process
Visual Studio 2017 以前如果要重新附加到相同的處理序,我們需要自行用 Attach to Process 對話框再次附加相同的處理序,或是透過 Visual Studio 2017 的外掛直接重新附加處理序。
Visual Studio 2017 以後新增 Reattach to process 功能,只要之前附加過處理序,[Debug | Reattach to Process…] 主選單選項即會浮現,若有需要則可點選該主選單選項,或是用熱鍵 Shift+Alt+P,進行處理序的重新附加。
read morePosts
Visual Studio 2017 - Match highlighting
Visual Studio 2017 以前在使用 IntelliSense 時,有時我們會搞不清楚出來的成員是因為匹配到什麼才會顯示出來。
Visual Studio 2017 以後支援 Match highlighting,當使用 IntelliSense 時匹配到的字元會被 Highlight,可以清楚知道為什麼 IntelliSense 會將該成員列出。
read morePosts
Visual Studio 2017 - IntelliSense filtering
Visual Studio 2017 以前 IntelliSense 是不具備 Filtering 功能的,必須從眾多成員中挑選出所要選用的,當成員過多時這問題會更加嚴重。
Visaul Studio 2017 加入 IntelliSense filtering,在 IntelliSense 對話框的下半部增加了過濾的按鈕,能針對成員類型進行過濾。
像是可以設定只顯示屬性。
可以設定只顯示方法。
可以設定只顯示擴充方法…等等。
read more