Visual Studio 2019新功能 - 1

by vivid 4. 三月 2020 11:42

.NET Magazine國際中文電子雜誌
作 者:許薰尹
審 稿:張智凱
文章編號: N200321701
出刊日期: 2020/3/4

號稱地表最強開發工具Visual Studio 2019問市後,帶來了許多新的功能來增進開發程式的生產力。在這篇文章之中,將介紹一些好用的新功能,讓你應用在日常開發之中。

 

開始視窗

一啟動Visual Studio 2019開發工具就會看到一個新的「開始」視窗,請參考下圖所示。「開始」視窗的左方將列出最近您曾經開啟過的歷史專案清單,讓你快速開啟感興趣的專案;而右方則包含一些常用的專案選項,提供讓你開啟舊專案,或建立新專案...等等。你也可以直接點選視窗下方的「不用程式碼繼續」選項,這樣就可以直接進入Visual Studio 2019開發工具編輯畫面。

clip_image002

圖 1:「開始」視窗。

你可以從Visual Studio 2019開發工具的「工具」-「選項」-「環境」-「啟動」選項來變更是否顯示「開始」視窗的行為,請參考下圖所示,設定「啟動時,開啟」:

· 開始視窗:此為預設的選項,將顯示「開始」視窗。

· 最新的解決方案:顧名思義,Visual Studio 2019啟動時,將會自動開啟最近一次編輯的方案與專案。

· 空白環境:Visual Studio 2019啟動時,直接進入Visual Studio 2019編輯視窗。

clip_image004

圖 2:設定啟動行為。

開啟解決方案與專案

有時一個解決方案(Solution)之中包含多個專案(Project),每回開啟解決方案都要花費許多時間來載入多個專案。現在「開啟專案/解決方案」的對話盒中,有一個「不要載入專案」的核取方塊可以勾選,請參考下圖所示:

clip_image006

圖 3:「不要載入專案」的核取方塊。

當你按下「Open」鍵,進入Visual Studio 2019開發還境,在「方案總管」視窗之中,便可以看到解決方案中的每一個專案會出現「已卸載」的文字描述,請參考下圖所示:

clip_image008

圖 4:專案會出現「已卸載」的文字描述。

若是選取「方案總管」視窗之中想要編輯的專案項目,按一下滑鼠右鍵,從快捷選單中,選取「重新載入專案」就可以進入載入專案,並進入專案的編輯畫面,請參考下圖所示:

clip_image010

圖 5:「重新載入專案」。

而已載入的專案,則可以在「方案總管」視窗,選取某個專案,按一下滑鼠右鍵,從快捷選單中,選取「卸載專案」項目,請參考下圖所示:

clip_image012

圖 6:「卸載專案」。

Visual Studio 2019開發工具會自動記錄哪個專案的狀態是「載入」還是「已卸載」,下回開啟這個解決方案時,便會自動載入這些已載入的專案。

在「方案總管」視窗,選取解決方案項目,按一下滑鼠右鍵,從快捷選單中,還有更多的設定可使用,例如,你可以選取「載入所有專案」或「隱藏已卸載的專案」,請參考下圖所示:

clip_image014

圖 7:「隱藏已卸載的專案」。

若選取「隱藏已卸載的專案」,下一回在「方案總管」視窗,選取解決方案項目,按一下滑鼠右鍵,便有「顯示已卸載的專案」的項目可供選擇。此外,還可以選取「另存為解決方案篩選」項目,儲存一個「.slnf」檔案,例如上圖的解決方案中,有兩個專案是「已卸載」狀態;只有一個專案是載入的狀態,選取「另存為解決方案篩選」,請參考下圖所示:

clip_image016

圖 8:「另存為解決方案篩選」。

按下「Save」按鈕之後,接著會在專案資料夾之中產生一個副檔名為「.slnf」的檔案,以此解決方案為例,將會包含以下内容,在「projects」區段記錄目前已載入的專案清單:

{
  "solution": {
    "path": "WebApplication1.sln",
    "projects": [
      "WebApplication1.csproj"
    ]
  }
}

 

後續可以直接在檔案總管中雙擊「.slnf」檔案來開啟「projects」區段記錄的所有專案,這樣可以讓你選擇只開啟有興趣的專案,不用載入整個解決方案中所有的專案,以節省載入的時間。此外,「.slnf」檔案可也搭配程式碼版本控制軟體來使用。

個別監視器感知支援(per-monitor DPI-aware,PMA)

Visual Studio 2019開發工具新增個別監視器感知支援(per-monitor DPI-aware,PMA)來處理多螢幕解析度問題,預設Visual Studio 2019開發工具便自動啟用了PMA的功能,請參考以下「環境」-「一般」選項中勾選了「為不同像素密度的螢幕最佳化呈現方式」的設定:

clip_image018

圖 9:PMA個別監視器感知支援。

有了這個設定,只要使用多螢幕進行開發,當你在不同大小的螢幕縮放視窗時,就不會有字型模糊等視覺變差的問題。不過這項功能需要您的作業系統為Windows 10 1803以上版本,以及要在電腦中安裝.NET Frameowrk 4.8以上版本才能支援。

剪貼簿功能

剪貼簿功能已重新設計,現在只要在Visual Studio 2019開發工具程式碼編輯視窗同時按下「CTRL」 + 「SHIFT」 +「 V」組合鍵,就會顯示出「剪貼簿」清單,讓你選取曾經複製的資料之歷史清單, 並提供預覽功能,透過這個清單中的選項選項,讓你選取貼上最近使用過的程式碼,請參考下圖所示:

clip_image020

圖 10:剪貼簿功能。

文件健康狀態指標(Document Health Indicator)

Visual Studio 2019開發工具新增一個文件健康狀態指標(Document Health Indicator)功能,它出現在程式編輯視窗左下角、放大與縮小字型的下拉式清單方塊右方,請參考下圖所示:

clip_image022

圖 11:文件健康狀態指標(Document Health Indicator)。

文件健康狀態指標(Document Health Indicator)會自動監控目前開啟的文件是否有程式碼的問題,並將問題的個數顯示在錯誤與警告的圖示旁。若發現程式的語法錯誤與警告,只要點選對應的錯誤與警告圖示,就可以帶出「錯誤清單」視窗來檢視程式碼的問題所在,請參考下圖所示:

clip_image024

圖 12:「錯誤清單」視窗。

程式碼清除(Code Cleanup)

程式碼清除(Code Cleanup)功能只有使用Visual Studio 2019工具搭配「C#」、「Visual Basic」程式語言的專案方可以使用。在文件健康狀態指標(Document Health Indicator)工具的右方,有一個掃把的圖示,可以叫出程式碼清除(Code Cleanup)功能,請參考下圖所示:

clip_image026

圖 13:設定「程式碼清除」功能。

預設有兩個「程式碼清除」設定檔可供使用,只要按下「CTRL」+ 「K」與「CTRL」+ 「E」,就會執行第一個預設設定檔的修正程式,來清除不必要的程式碼,像是「移除不必要的Using」、「移除不必要的Cast」程式碼,來達到程式碼重構的效果。若點選「設定程式碼清除(Configure Code Cleanup)」項目可以編輯這兩個預設設定檔案的程式碼清除規則,請參考下圖所示:

clip_image028

圖 14:設定「程式碼清除」設定檔規則。

新的IntelliCode功能

IntelliCode是IntelliSense功能的擴充功能,提供進階版的程式碼提示,協助你撰寫程式碼。IntelliCode在背後加上AI(artificial intelligence)的運算,能夠根據你的程式,提供更適合的程式碼完成功能。預設在C#專案之中撰寫程式碼時,你可以看到提示清單最上方,標示著星號的項目就是來自於IntelliCode的建議,這些建議是來自於GitHub中成千上萬開放源碼的專案歸類而來的,請參考下圖所示:

clip_image030

圖 15:IntelliCode提示。

在「工具」-「選項」-「IntelliCode」可以進一步設定它可以支援的預覽功能,請參考下圖,啟用「C# 引數完成」功能:

clip_image032

圖 16:啟用IntelliCode預覽功能。

當你輸入程式碼時,在「Console.WriteLine()」的小括號之中,按下「CTRL」+「Space」鍵,就可以看到IntelliCode根據程式的上下文所提供的提示,請參考下圖所示:

clip_image034

圖 17:IntelliCode根據程式的上下文提供提示。

排版程式碼

在Visual Studio 之中要排版程式碼,可以按下「CTRL」 +「K」與「CTRL」 +「D」格式化一份文件或是按下「CTRL」 +「K」與「CTRL」 +「F」排版選取區塊的程式碼,若要針對整個專案中所有檔案內的程式碼做排版,可以利用一個全域工具:「dotnet format」。要使用這個工具的話,首先我們需要安裝它,在Visual Studio的「工具(Tools)」-「命令列(Command Line)」-「開發人員PowerShell(Developer PowerShell)」選項開啟命令視窗,請參考下圖所示:

clip_image036

圖 18:「開發人員PowerShell(Developer PowerShell)」命令視窗。

輸入以下指令安裝dotnet-format工具到全域區段,請參考下圖所示:

dotnet tool install -g dotnet-format

這個命令執行結果,請參考下圖所示:

clip_image038

圖 19:安裝dotnet-format工具。

輸入以下命令檢視工具版本,請參考下圖所示:

dotnet format --version

這個命令執行結果,請參考下圖所示:

clip_image040

圖 20:檢視工具版本。

若要排版目前資料夾內的專案或解決方案,可以使用「-w」參數,以下命令指明排版「JSONApp1.sln」解決方案中的所有檔案:

dotnet format -w JSONApp1.sln

這個命令執行結果,請參考下圖所示:

clip_image042

圖 21:排版解決方案中所有程式檔案。

更多、更詳細的參數說明請參考「https://github.com/dotnet/format」網站。

Tags:

.NET Magazine國際中文電子雜誌 | Visual Studio | 許薰尹Vivid Hsu

新增評論




  Country flag
biuquote
  • 評論
  • 線上預覽
Loading






NET Magazine國際中文電子雜誌

NET Magazine國際中文電子版雜誌,由恆逸資訊創立於2000,自發刊日起迄今已發行超過500篇.NET相關技術文章,擁有超過40000名註冊讀者群。NET Magazine國際中文電子版雜誌希望藉於電子雜誌與NET Developer達到共同學習與技術新知分享,歡迎每一位對.NET 技術有興趣的朋友們多多支持本雜誌,讓作者群們可以有持續性的動力繼續爬文。<請加入免費訂閱>

月分類Month List