Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Visual Studio 2017 新功能探索 (Study4.TW)

4,869 views

Published on

這是我 2017/2/25 在 Study4Dev - Visual Studio Everywhere 台中場的演講簡報,詳細介紹許多 Visual Studio 2017 開發工具的全新功能。

地表最強開發工具 Visual Studio 2017 即將問世,全新版本不但安裝時間短、執行速度快,全新的開發與偵錯能力更是讓人大開眼界,想了解如何利用全新工具大幅增加開發生產力,你不可錯過這場令人興奮的現場展示。

Study4Dev - Visual Studio Everywhere 台中場
http://study4-tw.kktix.cc/events/study4devtaichung

Published in: Technology
  • Awesome lonely girl looking for fun on webcam with the you now - www.xslideshare.usa.cc
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Visual Studio 2017 新功能探索 (Study4.TW)

  1. 1. Visual Studio 2017 新功能探索 多奇數位創意有限公司 技術總監 黃保翕 ( Will 保哥 ) 部落格:http://blog.miniasp.com/
  2. 2. 全新安裝體驗 Installation Experience
  3. 3. Visual Studio 2017 安裝特色 • 更輕量的安裝 – 更小更快的安裝過程 • 完全客製化安裝 – 完全依據您的需要選擇必要的開發元件 • 更低的系統衝擊 – 安裝過程只有極少量的系統檔案與系統機碼被建立 – 各版本之間 (2015, 2017 RC, 2017 RTM, …) 互不影響 3
  4. 4. Visual Studio 2017 版本 • Visual Studio Community 2017 – 支援版控、語法高亮、開發偵錯、超過 20 種程式語言 – 可開啟任意資料夾 (無須任何方案檔或專案檔) • Visual Studio Professional 2017 – 支援 CodeLens (程式碼透視鏡) • Visual Studio Enterprise 2017 – 支援完整的 DevOps 開發體驗 – 支援 Live Unit Testing – 支援 Live Architecture Dependency Validation 4
  5. 5. 程式碼導覽功能 Code Navigation
  6. 6. 結構輔助線 (Structure Guide Lines)
  7. 7. 上一個方法、下一個方法 • 建議自訂快速鍵 – Alt + ↑ (上一個方法) – Alt + ↓ (下一個方法)
  8. 8. 全新的「移至」功能 ( Go To) • 快速搜尋 – Ctrl + , – Ctrl + T • 跳至指定行號 – Ctrl + G
  9. 9. 尋找所有參考 (Find All References) • 全新的介面讓搜尋結果 更加清楚明瞭 • 快速鍵 – Shift+F12
  10. 10. 開啟資料夾模式 Open Folder
  11. 11. 可以開啟任意資料夾的專案
  12. 12. 可從檔案總管開啟任意資料夾
  13. 13. 可開啟無須方案或專案檔的專案 • 開發時期依然支援以下功能 – 語法高亮 – 程式碼導覽 • 搭配 Ctrl-, 或 Ctrl-T 使用 – 程式碼偵錯 • C++ (CMake) • Node.js - JavaScript/TypeScript • Python – 智慧型感知輸入 (IntelliSense)
  14. 14. 解決方案總管 - 資料夾檢視 • 限定方案總管顯示範圍 (右圖) • 在檔案總管中開啟資料夾 • 開啟開發人員命令提示字元 • 輕易切換不同模式 (下圖) – 資料夾檢視 – 方案總管檢視
  15. 15. 資料夾專案的啟動設定 • 設定方法 – 在可啟動執行的檔案 按下滑鼠右鍵,選擇 【設定為啟動項目】
  16. 16. 資料夾專案的偵錯設定 • 設定方法 – 只要在可偵錯的檔案上 按滑鼠右鍵,選擇 【偵錯並啟動設定】 即可進行設定! • 設定檔路徑 – .vs/launch.vs.json – 支援 IntelliSense
  17. 17. 資料夾專案的工作設定 • 設定方法 – 只要在可任意檔案上 按滑鼠右鍵,選擇 【設定工作】即可! • 設定檔路徑 – .vs/tasks.vs.json – 支援 IntelliSense
  18. 18. tasks.vs.json 範例 { "version": "0.2.1", "tasks": [ { "taskName": "工作-app", "appliesTo": "app.js", "type": "command", "command": "cmd", "args": ["/C", "npm", "test"] } ] }
  19. 19. 利用 EditorConfig 自訂文字編輯器設定 EditorConfig
  20. 20. 全新 EditorConfig 編輯器設定 • EditorConfig 是在開源社群常見的編輯器設定檔 – 預設檔名:.editorconfig – 檔案路徑:通常位於專案或方案根目錄下 • 使用方式 – 建立 .editorconfig 編輯器設定檔 – 將檔案加入版本控制系統並與團隊共用一致的編輯器設定 – 開發人員在寫 Code 的時候,編輯器會自動提示格式錯誤 • 設定檔範例 – https://github.com/dotnet/roslyn/blob/master/.editorconfig
  21. 21. 支援的 EditorConfig 屬性 • 目前 Visual Studio 2017 RC 支援的屬性如下 – root = true • 宣告此 .editorconfig 是否為最上層設定檔 – indent_style = space • 設定縮排的風格 ( space 或 tab ) – indent_size = 4 • 設定縮排的空白字元數 ( 僅 indent_style = space 時有用 ) – tab_width = 4 • 設定一個 tab 符號的寬度 – end_of_line = crlf • 設定斷行符號 ( cr , lf , crlf ) – charset = utf-8 • 設定檔案的文字編碼 ( latin1, utf-8, utf-16be, utf-16le ) – .NET Code Style Settings For Editorconfig
  22. 22. 已知的問題 (Known Issues) • EditorConfig 目前不支援 XML 檔案類型 (VS2017 RC) • 目前 XAML 編輯器支援 .editorconfig 以下選項: – indent_style – indent_size – tab_width • 目前 .editorconfig 不支援的選項: – insert_final_newline – trim_trailing_whitespace
  23. 23. 相關連結 • EditorConfig – EditorConfig – EditorConfig Plugins – EditorConfig (GitHub) – EditorConfig (@EditorConfig) | Twitter • 微軟文件 – Code Style Configuration in the VS2017 RC Update – Create portable, custom editor settings | Microsoft Docs • 相關文章 – Maintaining Consistent Coding Conventions With EditorConfig - Trey Hunner – Use EditorConfig to Maintain Consistent Coding Styles between Different Editors and IDEs
  24. 24. 漫遊擴充管理員 Roaming Extension Manager
  25. 25. 漫遊擴充管理員
  26. 26. 將擴充套件安裝於多台主機 • 適用於一個開發人員擁有多台開發環境 • 必須先登入 Visual Studio 2017 ( Microsoft 帳戶 ) • 漫遊擴充管理員 (Roaming Extension Manager) – 可將常用擴充套件設定「開始漫遊」
  27. 27. 漫遊擴充管理員圖示 • 標示為漫遊的擴充套件且尚未安裝 • 標示為漫遊的擴充套件且已經安裝 • 已安裝的套件,但沒有加入到漫遊清單中
  28. 28. 強大的 IntelliSense 與編輯器功能 Enhanced IntelliSense and Code Editor Features
  29. 29. 全新的 IntelliSense 功能增強 • IntelliSense 新增 Icon Tray 可篩選提示結果
  30. 30. 其他 C# / VB 編輯器功能增強 • 將檔案名稱更名為型別名稱 ( Ctrl+. ) • 將型別名稱更名為檔案名稱 ( Ctrl+. ) • 將 String.Format 轉換成 C# 6 的字串內插語法 • 在字串中間按下 Enter 斷行會自動拆成兩個字串 • 可把現有屬性 (Property) 自動轉成方法 (Method) • 使用程式碼導覽功能現在支援模糊比對能力 • 程式碼自動引用參考現在也支援模糊比對能力
  31. 31. 其他 JavaScript 編輯器功能增強 • 預設已啟用 JavaScript Language Service 能力 – 支援 React 常用的 JSX 語法 – 支援大部分 ES2016 語法 • generators • modules • decorators • …
  32. 32. 全新的偵錯能力 - Run to Click Run to Click
  33. 33. 減少設定中斷點的次數
  34. 34. 啟用與停用 [執行至所按處] • 執行至所按處 ( Run to Click )
  35. 35. 全新的例外狀況處理 Exceptional Exception Handling
  36. 36. 更清楚的 NullReferenceException • 可以在一個陳述式中點出確切的例外狀況
  37. 37. 設定例外發生時的中斷點條件
  38. 38. 即時單元測試開發 Live Unit Testing
  39. 39. 即時單元測試開發 (Live Unit Testing) • 主要特性 – 即時呈現單元測試結果與程式碼測試覆蓋率 – 僅支援於 Visual Studio 2017 企業版 – 支援 C# / VB 專案類型
  40. 40. Live Unit Testing 圖示 • 尚未被任何單元測試涵蓋 • 已涵蓋單元測試,但未通過 • 已涵蓋單元測試,且已通過
  41. 41. 內建支援三種單元測試框架 • 支援的單元測試框架與工具版本 – MSTest (Visual Studio Unit Testing Framework) • MSTest.TestAdapter 1.1.4-preview • MSTest.TestFramework 1.0.5-preview (or higher versions) – xUnit • xunit.runner.visualstudio version 2.2.0-beta3-build1187 • xunit 2.0 (or higher versions) – NUnit • NUnit3TestAdapter version 3.5.1 • NUnit version 3.5.0 (or higher versions)
  42. 42. 相關連結 • Live Unit Testing in Visual Studio 2017 RC • Unit Test Your Code • MSTest.exe command-line options
  43. 43. 即時相依性檢測 Live Dependency Validation
  44. 44. 啟用即時相依性檢測
  45. 45. 新增相依性驗證圖表 - 步驟 1 • [架構] / [新增相依性驗證圖表]
  46. 46. 新增相依性驗證圖表 - 步驟 2 • 新增 [相依性驗證] 專案
  47. 47. 新增相依性驗證圖表 - 步驟 3 • 更新專案中的 NuGet 套件以支援相依性驗證圖表
  48. 48. 新增相依性驗證圖表 - 步驟 4 • 設計相依性圖表 ( Layer Diagram )
  49. 49. 從錯誤清單視窗驗證架構相依性
  50. 50. 相依性驗證其實是個分析器 50
  51. 51. 相依性驗證圖表必須加入到專案中 • 在 *.csproj 專案檔中有個隱藏的專案項目 (方案總管看不見) • 沒有這個隱藏的專案項目就會出現以下錯誤 51
  52. 52. 相關連結 • Live Dependency Validation in Visual Studio 2017 | Microsoft Application Lifecycle Management • Live architecture dependency validation in Visual Studio "15" Preview 5 • UML Designers have been removed; Layer Designer now supports live architectural analysis
  53. 53. 輕量型解決方案載入 Lightweight Solution Load
  54. 54. 輕量型解決方案載入 • 主要用途 – 加快大型方案 (數十個專案) 的載入速度 – 大幅減少載入大型方案的記憶體耗用情況 • 注意事項 – 目前是實驗性功能, 預設不啟用! – 啟用時預設專案 不會自動還原 NuGet 套件
  55. 55. 載入速度比較
  56. 56. 啟用輕量型解決方案載入 (全域)
  57. 57. 啟用輕量型解決方案載入 (方案) • 啟用步驟 1. 在方案總管中點選方案 2. 按下 F4 開啟屬性視窗 3. 調整「輕量型載入」屬性
  58. 58. 相關連結 • Shorter Solution Load Time in Visual Studio "15" • Faster Visual Studio "15" Startup | The Visual Studio Blog
  59. 59. 聯絡資訊 • The Will Will Web 記載著 Will 在網路世界的學習心得與技術分享 – http://blog.miniasp.com/ • Will 保哥的技術交流中心 (臉書粉絲專頁) – http://www.facebook.com/will.fans • Will 保哥的噗浪 – http://www.plurk.com/willh/invite • Will 保哥的推特 – https://twitter.com/Will_Huang

×