為何我感覺 Visual Studio 很難用?
過猶不及,resharper和rider 有些地方多餘了,有的時候感覺它會自作聰明。rider 我見過別人的介面,花裡胡哨的,不如VS簡潔,看著鬧心。當然我不得不承認,rider確實激進一些,有些地方確實更有優勢,但是有點過於激進了。
resharper 卡頓就不說了,大家都知道。rider 卡不卡我沒有發言權。
另外我發現程式設計師裝X心理特別嚴重。總喜歡搞一些花裡胡哨的,不實用的東西
我喜歡ide簡潔一些,讓人更加Focus(對就是專注)一些。
而且VS配置要求低,記憶體佔用少,效能強,響應速度快,穩定,這些自然就不用我說了吧。
VS的缺點:
貼上程式碼,補全缺少的包,這一點確實不如Rider,現在即使有也不是特別好用,只能說勉強能用。
用VS的話,自然免不了要安裝那麼幾個外掛。
CodeMaid (程式碼結構)
ColorOutput (高亮VS輸出視窗的日誌)
Color Theme Editor 用來修改高亮(比如C#預設的高亮中
結構體和類
使用同一種高亮顏色)。
另外VS自帶的程式碼高亮編輯並不算很好用(修改哪些片段高亮的顏色和字型格式等等)。
擴充套件(外掛)管理器下載擴充套件有時候會抽風。
CodeLens是企業版才有的功能,社群版沒有,而且CodeLens在欄位上面不起作用,這對於一個大類來說就很不友好(包括僅有欄位的結構體,注意不是屬性)。
git 夠用,但是如果能夠再豐富一些功能,自然是更好。但是目前我還沒有覺得有什麼非要不可的功能缺失。
希望jb吹認清一個現實
透過java開發出來桌面軟體,效能和介面就是坨
那是因為你沒有裝一些好用到爆的擴充套件外掛,有了一些好用的擴充套件外掛,寫程式碼直接起飛!這裡推薦一些外掛:
所謂工欲善其事必先利其器,一些優秀的VisualStudio擴充套件外掛能給我們打碼帶來效率上的提升,作為。NET開發者,VisualStudio是我們吃飯的主要工具,而純淨的VisualStudio通常需要比較深厚的程式設計功底才能駕馭,像博主這樣的菜雞,就只能依靠一些優秀的擴充套件外掛來解決日常自動寫程式碼以及寫出好程式碼了。
VisualStudio擴充套件新手教程
Visual Studio 擴充套件安裝
1。 透過VS聯機庫安裝擴充套件,在VS的選單欄,點選 擴充套件->管理擴充套件 ,開啟擴充套件管理器
2。 點選 聯機 – visual studio marketplace
3。 查詢你需要的擴充套件,並點選 下載,等待安裝完成。
下載擴充套件檔案的安裝
1。 開啟微軟VS擴充套件庫:
https://
visualstudiogallery。msdn。microsoft。com
/site/search?sortBy=Ratings
2。 搜尋或瀏覽找到需要的擴充套件
3。 在下載頁面,點選下載,一般下載到是vsix檔案,比如 CodeMaid_v11。0。183。vsix
4。 雙擊 下載的檔案 執行,就可安裝
5。 安裝完成後,啟動 visual studio 便可使用。
管理VS的擴充套件
1。 在VS的選單欄,點選 工具 - 擴充套件和更新 ,開啟擴充套件管理器
2。 點選 已安裝 – 全部
3。 查詢你需要的擴充套件,可選擇禁用或解除安裝。重啟VS後生效。
1。Resharper Ultimate
極力推薦的當然是resharper這個重量級的神級外掛了,如果你是一名。NET開發人員,但是你卻不使用ReSharper,那麼你就不是一個合格的碼農了,因為這是一個強大的神器,你值得擁有!當然,用它的代價是,啟動VS會變得非常慢,非常卡,但是需要知道,磨刀不誤砍柴工!開發效率絕對提升N倍!!!
ReSharper是一個JetBrains公司出品的著名的程式碼生成工具,是Visual Studio裡面的一個外掛。它包括一系列豐富的能大大增加C#和Visual Basic 。NET開發者生產力的特徵。使用ReSharper,你可以進行深度程式碼分析,智慧程式碼協助,實時錯誤程式碼高亮顯示,解決方案範圍內程式碼分析,快速程式碼更正,一步完成程式碼格式化和清理,業界領先的自動程式碼重構,高階的整合單元測試方案,和強大的解決方案內導航和搜尋。實質上,ReSharper特徵可用於C#,
http://
VB。NET
,XML,
http://
ASP。NET
,XAML,和構建指令碼。ReSharper還為C#和
http://
VB。NET
提供了增強的交叉語言功能,它使開發者可以有效的控制。net混合專案。
下載:
https://
masuit。tk/20
詳細教程參考:
https://
masuit。tk/21
2。神級偵錯程式——OzCode
OzCode是Visual Studio開發軟體的擴充套件外掛工具,使用者使用它可以減少了除錯時間並透過檢測和隔離錯誤,可以大大的提高工作的生產效率。OzCode允許搜尋效能,比較物件,計算表示式並建立跟蹤點 - 都導致了快速的和富有成效的除錯會話。
它能實現諸多的除錯增強,比如記錄除錯步驟和歷史變數值,linq除錯等
下載和使用:
https://
masuit。tk/58
3。CodeMaid
CodeMaid是一個開源的Visual Studio的擴充套件外掛,用於整理與最佳化程式碼等。功能類似於商業軟體Resharper,但它是免費的,並且開放原始碼。它能幫助你更容易的理解你的程式碼,支援多種程式語言。
下載和使用:
https://
masuit。tk/1393
4。ProductivityPowerTools
Productivity Power Tools是微軟官方推出的 Visual Studio 外掛,被用以提高開發人員生產率。它的出現一定程度上彌補和完善了 Visual Studio 自身的不足,比如其中的標記自動補全、複製引用等看似雖小,但卻真得幫助我減輕了很多麻煩。
下載和使用教程:
https://
masuit。tk/1392
5。 資料庫建模神器——Devart Entity Developer
Entity Developer是一個用於LINQ to SQL建模和程式碼產生的強大工具。你可以從零開始或者從一個現有資料庫逆向設計LINQ to SQL。
Entity Developer是
http://
ADO。NET
實體框架,NHibernate、LinqConnect、Telerik資料訪問和LINQ to SQL的強大ORM設計器。 它介紹了設計ORM模型的新方法,提高了生產力,並促進了資料庫應用程式的開發。
下載和使用:
https://
masuit。tk/1493
6。ClaudiaIDE,為編輯器視窗插入背景圖片
一款可以為程式碼視窗加入背景圖片的外掛,支援單張圖片和多張圖片輪播
下載和使用:
https://
marketplace。visualstudio。com
/items?itemName=kbuchi。ClaudiaIDE
7。VSColorOutput,輸出視窗不同顏色的輸出
讓輸出視窗的不同內容按不同顏色顯示,警告和錯誤一目瞭然
下載地址:
https://
marketplace。visualstudio。com
/items?itemName=MikeWard-AnnArbor。VSColorOutput
8。Viasfora 為程式碼增加彩虹括號和配色增強
為程式碼增加彩虹括號和關鍵字高亮。括弧、中括號、花括號都會根據層級顯示不同的顏色,一定程度上能方便找到未匹配的括弧。
下載:
https://
marketplace。visualstudio。com
/items?itemName=TomasRestrepo。Viasfora
9。Experimental Tools,增強工具
相當於一個超精簡版的Resharper,基於visual studio上的拓展功能,增加了編碼顯示、智慧感知、強化智慧提示、程式碼段處理、自動提示html的標籤工具等特點,而且下面提到的部分工具也是基於它的強化。
下載:
https://
marketplace。visualstudio。com
/items?itemName=AndreiDzimchuk。ExperimentalTools2017
10。Highlight all occurrences of selected word++,匹配選中高亮顯示
當選中部分內容時,當前文件其他相同部分同時高亮顯示,方便直觀的查詢內容。
11。BundlerMinifier,靜態資源最小化打包工具
對前端資源的自動化打包工具,可將多個靜態資源壓縮成一個min檔案,支援以下打包和編譯轉換功能:
將CSS,JavaScript或HTML檔案捆綁到單個輸出檔案中
儲存原始檔會自動觸發重新捆綁
支援globbing模式
MSBuild支援支援CI方案
縮小單個或捆綁的CSS,JavaScript和HTML檔案
每種語言的縮小選項都是可自定義的
開啟生成的檔案時顯示水印
Task Runner Explorer整合
命令列支援
更新解決方案中所有捆綁包的快捷方式
抑制輸出檔案生成
轉換為Gulp
下載:
https://
marketplace。visualstudio。com
/items?itemName=MadsKristensen。BundlerMinifier
12。Code Metrices,程式碼複雜度評估外掛
每個方法前都會顯示程式碼複雜度,實時提醒你程式碼該重構了。不同程度的複雜度將會以不同的顏色提醒你
13。NuPack,nuget包打包工具
幫助你自動構建nuget包,方便釋出到nuget倉庫中
下載:
https://
marketplace。visualstudio。com
/items?itemName=CnSharpStudio。NuPack
14。WebEssentials,前端工具集
用VS寫前端的最強工具集,包含了一系列的前端工具,如果你正在編寫CSS, HTML, JavaScript, TypeScript, CoffeeScript 或者 LESS,那麼你會發現Web Essentials的很多新的功能會使你的開發生活變得更簡單。
總結
博主在用的好用的外掛就這些了,大家有什麼優秀的外掛也可以分享出來。
我是VS預設就能用的很舒服的人,以前VS功能不夠用的時候,我裝過resharper,功能太多了都懶得配置,唯一想用的功能就是var和具體型別互轉,因為寫程式碼var舒服,但是經理要求寫清楚型別,就用resharper轉一下,但是為了這太興師動眾了
以前還用過一些前端外掛,MVC的外掛,後來不開發這種東西了,就都拋棄了
比如以前大括號的對齊線以前需要外掛,Indent Guides,現在不需要了
後來找過兩個格式化xaml的工具,格式化的不是太舒服,還是算了
還用過VSCommands,可以在大括號結束的地方寫上匹配的大括號前面那句,但是後來不更新額,我就改用CodeBlockEndTag了
再來個ILSPY外掛
以前搞git必須用外掛,但是外掛也不太好,不如直接去資料夾用gitext,現在的git起碼可以正常提交程式碼,但是還是沒以前微軟tfs整合的好
我就是這麼個用現在的VS2019預設就很舒服的人,太多的功能我也不要,只有用VS code才裝一大堆外掛
問道有先後,術業有專攻!
如果你是一名新手剛剛上手Visual Studio, 那麼這篇回答或將收益匪淺!
可以先收藏備用一下。
1。推薦12個Visual Studio 除錯技巧
2。在Visual Studio中為類、介面程式碼自動新增版權資訊
3。10個Visual Studio 基本騷操作
第一部分:推薦12個Visual Studio 除錯技巧
我們假定讀者瞭解VS基本的除錯知識,如:
F5
開始使用偵錯程式執行程式
F9
在當前行設定斷點
F10
執行到下一個斷點處
F5
從被除錯的已停止程式恢復執行
F11
步進到函式內(如果當前程式指標指向一個函式)
F10
步過函式(如果當前程式指標指向一個函式)
Shift+F11
步出執行的函式
暫停執行
附加到程序
滑鼠懸停時快速檢視原始碼中的元素
除錯視窗:區域性變數、監視、即時視窗、模組、呼叫堆疊、異常設定
許多開發人員使用這個功能強大的工具包來處理除錯會話。然而,Visual Studio除錯工具提供了更多的功能。下面是一系列Visual Studio除錯效率技巧。
注意,這些提示和快捷方式已經在的Visual studio 2019 16。6 EN-US版本中進行了驗證,驗證時Visual studio沒有安裝擴充套件。
1、執行到游標位置
使用快捷鍵**Ctrl+F10**,您可以讓偵錯程式執行到游標所在行位置。
2、透過點選滑鼠,執行到當前位置
在除錯執行的程式時,透過滑鼠懸停在當前行的程式碼上時,出現綠色的符號,可以點選此符號,直接讓斷點執行到此處。
3、在此處作為下一條要執行的語句
在除錯執行的程式時,透過滑鼠懸停在當前行的程式碼上時,透過按住Ctrl鍵轉換為將此處作為下一條要執行的語句。它與透過綠色箭頭符號執行到這裡不同,此功能將會跳過中間的語句,直接將斷點跳轉到此處。因此,在下面的動圖中,我們可以在監視視窗中引用obj仍然為null,中間的MyClass建構函式並沒有被執行。
4、資料斷點:當值發生變化時,觸發中斷(值更改時中斷)
當你設定一個非靜態的設定器為斷點時,當所有物件的屬性的值發生更改時觸發斷點。透過區域性視窗(監視器視窗)右鍵點選:值更改時中斷選單,單個物件也可以獲得相同的行為。
下面的動畫說明了這個功能,只有當obj2。Prop發生變化時,命中斷點,而obj1。Prop發生變化時沒有命中斷點。
注意:資料斷點繫結到活動物件時,旨在除錯期間起作用。因此,一旦除錯過程停止,設定的斷點就會丟失,在以後的除錯過程中不能重用它。
5、條件斷點
可以將條件附加到斷點中,以便盡在特定場景中觸發中斷。在下面的動圖中,我們在迴圈中定義條件i>6的斷點。然後點選繼續,可以看到一旦斷點停止,i的值實際上變成了7。
6、跟蹤斷點
在遇到斷點時,停止程式執行時最常見的操作。但是,你可以選擇在輸出視窗中不終止(或帶終止)列印一些跟蹤資訊。下面的動圖說明了這種可能性。我們在輸出視窗中跟蹤i從0到9的值。注意:跟蹤斷點在編輯器的斷點顯示位置顯示為菱形形狀。
注意,條件和跟蹤操作都可以在斷點上指定。
7、跟蹤超出作用域的物件
在監視視窗中,通過當前執行範文內引用的名稱來跟蹤物件。但是,當這樣的跟蹤引用超出作用域時,即使在引用物件仍處於活動狀態時,它在監視視窗的上下文也不安的毫無意義並且被禁用。
在許多情況下,我們想繼續跟蹤作用域外物件的狀態。為此,請在監視視窗中右鍵單擊此類引用,單擊選單[Make Object ID] 建立物件ID(M),並要在監視器中新增或者2,$3,。。。,取決於你已經建立了多個物件ID)。
下面的動圖演示瞭如何跟蹤作用域外物件的屬性獲取器的狀態,該屬性獲取器以字串的形式返回實際的日期時間。它很好地顯示了當引用obj在Fct()上下文中超出作用域時,要觀看的obj項將被禁用,而$1仍然會獲得更新。
8、檢視函式返回的值
函式返回的值有時在原始碼中被忽略,或者有時這個值在除錯時無法被顯示的訪問。
這樣的返回值可以顯示在除錯->視窗->自動視窗中。偽變數$ReturnValue也可以在即時視窗和監視視窗中使用,以方便檢視最後一個函式呼叫的返回值。
注意,選單除錯->視窗->自動視窗僅在Visual Studio偵錯程式附加到程序並且程式被偵錯程式暫停時可用。
9、重新附加到程序
從Visual Studio 2017開始,重新附加到程序Shift+Alt+P工具被提出,並且非常方便。將偵錯程式附加到某個程序後,Visual Studio會記住它,並建議將偵錯程式重新附加到同一程序。斜體也一樣,因為這裡有一個關於程序標識的啟發式方法:
如果已附加的程序仍然執行著,重新附加到程序,重新附加到它。
否則,Visual Studio將嘗試查詢和前一個程序名具有相同名稱的單程序,並將偵錯程式重新附加到該程序。
如果找到幾個使用此名稱的程序,則開啟“附加到程序”對話方塊,只顯示名稱相同的程序
如果找不到具有此名稱的程序,則顯示“附加到程序”對話方塊
重新附加到程序也適用於涉及多個程序的除錯會話。在這種情況下,Visual Studio會嘗試使用上述相同的啟發式方法來查詢它附加到的所有程序。
10、在即時視窗和在觀察視窗的No-Side-Effect評估
有時,在即時視窗或監視視窗中評估表示式時,某些狀態會更改。這種行為通常時不希望發生的。你不想僅僅因為需要評估表示式的值而破壞除錯程式的狀態。這種情況被稱為Heisenbug,該術語時物理學家Werner Heisenberg的雙關語,它首先斷言了量子力學的觀察者效應,該現象指出,觀察系統的行為不可避免的會改變器狀態。
為了避免更改任何狀態,你可以在表示式後面加上nse(No-Side-Effect)。下面的動圖說明了這種可能性(在監視視窗中監視State的值是否有變化)。
下面這種動圖是nse在監視視窗的使用。由於SideEffectFct()所觀察的項中有Refresh評估按鈕,所以此示例比前一個示例更簡單。
11、在原始碼中顯示執行緒
除錯多執行緒應用程式是有名的複雜。希望在原始碼中顯示執行緒按鈕能提供很大的幫助。它在編輯器的左側邊欄引入標記圖示,以跟蹤其他執行緒被暫停的位置。這個標記可以用來顯示執行緒ID,並最終切換到另一個執行緒。注意:如果至少兩個執行緒在同一位置暫停,則會顯示不同的標記符號。
更多除錯多執行緒應用程式的技巧可以在這個微軟文件中找到:Get started debugging multithreaded applications (C#, Visual Basic, C++)
https://
docs。microsoft。com/en-u
s/visualstudio/debugger/get-started-debugging-multithreaded-apps?view=vs-2019
下面是這個演示的原始碼,如果你想演示它,可以進行參考:
using System;
using System。Threading;
class Program {
static void Main() {
for (int i=0; i< 5; i++) {
// Avoid capturing a loop variable in the lambda below
int j = i;
// So 2 thread are blocked on ‘0’ case
if (j == 1) { j = 0; }
ThreadPool。QueueUserWorkItem(delegate { Method(j); });
}
Thread。Sleep(60000);
}
static void Method(int id) {
switch(id) {
case 0:
Thread。Sleep(60000); break;
case 1:
Thread。Sleep(60000); break;
case 2:
Thread。Sleep(60000); break;
case 3:
Thread。Sleep(60000); break;
case 4:
Thread。Sleep(60000); break;
}
}
}
12、從反編譯的IL程式碼中除錯原始碼
我們經常依賴一些黑盒元件:我們沒有原始碼的元件。
但是,在除錯複雜行為時,觀察甚至除錯引用的黑盒元件引用的邏輯。這就是為什麼從16。5版本開始,Visual Studio 2019可以從編譯好的程式中生成一些原始碼。這樣的原始碼是可以除錯的。這個特性是基於開源軟體(OSS)工程:ILSpy(
https://
github。com/icsharpcode/
ILSpy
)。
反編譯選單可以在模組視窗的元件右鍵選單(如下面的動圖所示)和Source Not Found或No Symbols Loaded對話方塊中給出。
將IL程式碼反編譯為原始碼不可能是完美的,因為一些原始碼資訊在編譯時丟失了。因此,這個特性有一些限制,在這個官方文件的最後會解釋:Generate source code from 。NET assemblies while debugging
https://
docs。microsoft。com/en-u
s/visualstudio/debugger/decompilation?view=vs-2019
結尾
Visual Studio非常出色,在除錯方面尤其出色。 在這裡,我試圖選擇一些既隱藏又經常有用的技巧,希望它們能幫助您提高生產率。
原文轉載自:12個Visual Studio除錯效率技巧
工欲善其事,必先利其器
,日常工作留意總結,加上網上收集,各式各樣的幾乎都能找到,所有功能性程式碼都是獨立的類,類與類之間沒有聯絡,可以單獨引用至專案。有需要請備用留存。
高能預警:
130個超全C#幫助類,提升效率就靠它!
包括:INI檔案讀寫類、SqlHelper、
IP輔助類
、二維碼操作類、URL的操作類、 XML操作類、上傳下載幫助類、 二維碼操作類、分詞輔助類、加密解密幫助類、分頁幫助類、圖片驗證碼幫助類、圖片操作類、
處理列舉類、非同步執行緒幫助類
、檔案操作類、日誌幫助類、時間操作類、科學計數幫助類、
全面正則表示式操作類
、影片幫助類、網站路徑操作類、
第二部分:在Visual Studio中為類、介面程式碼自動新增版權資訊
如圖:
step1:找到這個路徑
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class
step 2:修改 class資料夾中的classs。cs 檔案
完整的程式碼如下,直接複製即可。
#region << 版 本 注 釋 >>
/*————————————————————————————————
* 版權所有 (c) $year$ $registeredorganization$ NJRN 保留所有權利。
* CLR版本:$clrversion$
* 機器名稱:$machinename$
* 公司名稱:$registeredorganization$
* 名稱空間:$rootnamespace$
* 唯一標識:$guid10$
* 檔名:$safeitemname$
* 當前使用者域:$userdomain$
*
* 建立者:布萊恩特
* 電子郵箱:知乎連結https://www。zhihu。com/people/zhanglin1995
* 建立時間:$time$
* 版本:V1。0。0
* 描述:
*
* ————————————————————————————————
* 修改人:
* 時間:
* 修改說明:
*
* 版本:V1。0。1
*————————————————————————————————*/
#endregion << 版 本 注 釋 >>
using System;
using System。Collections。Generic;
$if$ ($targetframeworkversion$ >= 3。5)using System。Linq;
$endif$using System。Text;
$if$ ($targetframeworkversion$ >= 4。5)using System。Threading。Tasks;
$endif$
namespace $rootnamespace$
{
///
/// $safeitemrootname$ 的摘要說明
///
class $safeitemrootname$
{
#region <常量>
#endregion <常量>
#region <變數>
#endregion <變數>
#region <屬性>
#endregion <屬性>
#region <構造方法和析構方法>
#endregion <構造方法和析構方法>
#region <方法>
#endregion <方法>
#region <事件>
#endregion <事件>
}
}
step 3:修改許可權
修改完成之後,會發現無法儲存。
需要修改class。cs檔案的訪問許可權,class。cs檔案需要完全的讀寫許可權。
step 4:儲存成功後,重新開啟Visual Studio,新建一個class檔案即可看到剛剛新增進去的版權資訊。介面檔案的修改方式也是一樣的。
推薦一份。NET程式設計師乾貨面試手冊:
《
http://
ASP。NET
和C#面試手冊》包括以下知識點基礎語法、面向物件、集合、異常、泛型、LINQ、委託、EF、多執行緒、
http://
ASP。NET
MVC、
http://
ASP。NET
Core、
http://
ADO。NET
、XML、HTTP、AJAX、WebService、常見的演算法、資料庫概念知識、資料庫SQL查詢(附建表語句)
獲取地址:
《.NET/C#面試手冊》
1.基礎語法
內容包括了c#的基礎語法的應用,總計30到題目。這部分較為簡單。
2.面向物件
內容包括面向物件常見的題目,總計21道題目。可以複習一下class、函式、封裝、繼承、多型。
3.集合、異常、泛型、LINQ、委託、EF!
包括集合、異常、泛型、LINQ、委託、EF等常見的題目,總計43道題目!
......
第三部分:10個Visual Studio 基本騷操作
1. 擴充套件/縮小選區
透過雙擊選中整個單詞,這個操作大家應該都知道。但如何快速選擇幾個單詞、或多個單詞的字串、或程式碼塊呢?教大家一個快捷鍵,如何快速擴充套件選擇程式碼區域。例如,當游標在一個字串中時,使用下面的快捷鍵就可以選擇整個字串。
按 Alt + Shift + = 擴充套件選區,按 Alt + Shift + - 縮小選區:
你也可以使用 Alt + Shift + ] 直接選中一個程式碼塊。
2. 切換視窗停靠
我們知道VS的窗口布局可以非常靈活的拖動,想擺哪擺哪。我們一般把常用的檢視視窗固定停靠在編輯器的左邊、右邊或下邊。但有時候為了檢視方便,你可能需要臨時把視窗拖到另一個位置(比如中心位置)。完了以後你還需要再次把它停靠到原來的位置,這樣拖動起來就會比較麻煩。有一種非常快速的方法可以將視窗停靠到它之前停靠的位置。
按 Ctrl + 雙擊視窗標題:
3. 快速定位開啟的檔案
在 VS 中,你可以使用 Ctrl + T 開啟 “Go To All” 搜尋工具欄,透過搜尋關鍵字輕鬆開啟要找的檔案。但是對於某些操作,比如重新命名檔案,你需要在解決方案資源管理器中找到該檔案。
使用 Ctrl + [, S 或使用下面的圖示按鈕可以快速定位到當前開啟的檔案:
4. 多行編輯
Visual Studio 允許同時編輯多行,這對於將相同的更改應用於多行非常有用,例如同時修改多個屬性的修飾符。下面有 4 個多行編輯程式碼的技巧。
按住 Alt 鍵,使用滑鼠拖選:
按住 Alt + Shift 鍵,再按上/下/左/右方向鍵選擇:
使用多個游標同時編輯。按住 Ctrl + Alt 鍵,點選或選擇要插入或編輯的位置:
匹配相同單詞並編輯。先選擇要編輯的單詞或字元,再按一下 Alt + Shift + ;,會自動匹配並選中所有相同的單詞,然後開始編輯:
你也可以使用 Alt + Shift + 。 只匹配選擇下一個相同的單詞。
5. 使用剪貼簿歷史貼上
複製貼上是寫程式碼很常見的操作。我們在 Ctrl + V 時預設是貼上你最後一次複製的內容,但有時你想使用上一次複製的內容,你可能會重新再複製一下。剪貼簿一次只能包含一個內容。Visual Studio 附帶了一個剪貼簿歷史記錄,預設它包含你複製到剪貼簿的最後 20 項記錄。
透過使用 Ctrl + Shift + V,可以開啟剪貼簿的歷史記錄:
你可以將多個內容複製到剪貼簿,並在稍後依次貼上到相應的位置。
6. 整行上下移動
有時候我們需要調整一下程式碼行的位置,比如將程式碼行上移或下移幾行。可以按住 Alt,然後使用上下方向鍵移動整行程式碼:
7. 直接拖動引用專案
在 VS 中的一個專案中引用另一個專案最方便的方法是直接把要引用的專案拖到該專案。
8. 設定 git pull 快捷鍵
最常用的 Git 操作就是 Pull 了,平時大家都是在 Team Explorer 視窗依次點選 Sync -> Pull 來操作。但用快捷鍵更方便,可以在 Tools -> Options -> Keyboard 中為 Git Pull 設定一個快捷鍵,比如設定為 CTRL + SHIFT + P。
9. 開啟命令列視窗
我經常需要在專案的根目錄開啟命令列視窗執行一些命令,比如 dotnet ef 相關的命令。在 VS 2019 之前,每次要開啟命令列視窗並定位到專案的根目錄是相當的麻煩。好在 VS 2019 終於內建了命令列視窗,透過快捷鍵 Ctrl + ` 開啟,或者點選 View -> Teminal 開啟。開啟後預設定位到專案的根目錄,還可以建立多個 Tab。
10. 設定私有欄位使用下劃線字首
預設情況下,VS 智慧補全對類的私有欄位使用的是 camelCase 命名風格,但有很多人更習慣使用 _camelCase 風格對私有欄位命名,類的私有欄位前面加 _ 字首有助於和本地變數進行區分。我們可以透過設定來改變預設的 camelCase 命名行為,具體設定步驟如下。
依次點選:Tools -> Options -> Text Editor -> C# -> Code Style -> Naming -> Manage naming styles。
上面的新增 Naming Style 步驟(第 4 步)很重要,為了讓你們看清楚些,請參照如下單獨放大的截圖:
好了,來試試效果:
其它
本文只羅列了幾個很多人都不知道的 VS 實用技巧,當然還有很多大多數人都知道的技巧,比如 Ctrl + D 複製當前行、Ctrl + X 剪下/刪除當前行、Shift + Enter 新啟一行等等,在這裡就不一一羅列了。
轉載自:精緻碼農 精緻碼農:幾個超級實用但很少人知道的 Visual Studio 技巧
更多技巧,持續更新中……
@玩轉Github
挖掘優質、有趣、有價值的開源,關注我,每天漲點新知識。