原文:https://blog.csdn.net/WPwalter/article/details/100158000
本文的內容分為三個部分:
- Visual Studio 能完全還原的 ReSharper 的功能
- 可能 Visual Studio 在此功能上已經追趕上了 ReSharper
- 可能 Visual Studio 在此功能上雖然依然不如 ReSharper 完善,但缺少的部分幾乎不影響體驗
- 可能 Visual Studio 此功能比 ReSharper 更勝一籌
- Visual Studio 能部分還原 ReSharper 的功能
- 可能在多數場景中 Visual Studio 能獲得 ReSharper 的此功能效果,在少數場景下不如 ReSharper
- 可能對多數人來說 Visual Studio 能獲得 ReSharper 的此功能效果,對另一部分人來說無法替代 ReSharper
- 有可能 Visual Studio 在此功能上另辟蹊徑比 ReSharper 更厲害,但綜合效果不如 ReSharper
- Visual Studio 此功能依然很弱,但可以通過安裝免費的插件的方式補足
- Visual Studio 此功能依然比不上 ReSharper
- 可能是 Visual Studio 沒有此功能
- 可能是 Visual Studio 此功能的實現方式上不如 ReSharper 快速、高效、簡單
- 自動反編譯工具
完美還原
無處不在的智能感知提示
默認情況下,Visual Studio 只在你剛開始打字或者輸入 . 和 ( 的時候才出現智能感知提示,但是如果你使用 ReSharper 開發,你會發現智能感知提示無處不在(所以那么卡?)。
實際上你也可以配置 Visual Studio 的智能感知在更多的情況下出現,請打開下面“工具”->“選項”->“文本編輯器”->“C#”->“IntelliSense”:
打開“鍵入字符后顯示完成列表”和“刪除字符后顯示完成列表”。這樣,你只要正在編輯,都會顯示智能感知提示。
另外,如果你當前需要打開智能感知提示,默認情況下使用 Ctrl + 空格鍵 可以打開。當然你也可以將其修改為 ReSharper 中常見的快捷鍵 Alt + 右箭頭。方法是修改鍵盤快捷鍵中的 “” 項。
修改快捷鍵方法詳見:
另外,在 IntelliCode 部分,可以選擇打開更多的 IntelliSense 完成項:
在輸入時即自動導入需要的命名空間
ReSharper 的智能感知提示包含所依賴的各種程序集中的類型,然而 Visual Studio 的智能感知則沒有包含那些,只有頂部寫了 using 的幾個命名空間中的類型。
Visual Studio 2019 中可以設置智能感知提示中“顯示未導入命名空間中的項”。默認是沒有開啟的,當開啟后,你將直接能在智能感知提示中看到原本 ReSharper 中才能有的編寫任何類型的體驗。
默認情況下輸入未知類型時只能完整輸入類名然后使用重構快捷鍵將命名空間導入:
但開啟了此選項后,只需要輸入類名的一部分,哪怕此類型還沒有寫 using 將其導入,也能在智能感知提示中看到並且完成輸入。
提取局部變量
在 ReSharper 中,選中一段代碼,如果這段代碼可以返回一個值,那么可以使用重構快捷鍵(默認 Alt+Enter)生成一個局部變量。如果同樣帶代碼塊在此方法體中有多處,那么可以同時將多處代碼一並提取出來成為一個布局變量。
在 Visual Studio 中,也可以選中一段代碼將其提取稱一個局部變量:
重命名標識符(類名/方法名/屬性名/變量名等)
ReSharper 可以使用 Ctrl + R, R 快捷鍵重命名一個標識符。
Visual Studio 中也是默認使用 F2 或者與 ReSharper 相同的 Ctrl + R, R 快捷鍵來重命名一個標識符。
可以還原
正在填坑……
依然不足
大量的代碼片段
ReSharper 中自帶了大量方便的代碼片段,而且其代碼片段的可定制性非常強,有很多可以只能完成的宏;而且還有后置式代碼片段。
然而 Visual Studio 自帶的代碼片段就弱很多,只能支持最基本的宏。
不過可以通過下面一些插件通過數量來補足功能上的一些短板:
Snippetica for C# - Visual Studio Marketplace
C# Methods Code Snippets - Visual Studio Marketplace
自動反編譯工具
1.工具->選項
2.文本編輯器->C#->高級->勾選支持導航到反編譯源碼
3.關閉瀏覽器不停止項目