【C#每日一帖】【轉】提升編碼效率的一些經驗

分享一下個人編碼習慣,你們有更好的方法歡迎留言補充html

使用快捷鍵alt+shift+F10/ctrl+.

這是我很喜歡用的一個快捷鍵,能夠直接添加引用java

好比咱們要用線程的Sleep方法,可是默認代碼裏面是沒有Thread類的引用的,若是這時咱們再滑動鼠標到上面去添加using System.Threading;就太慢了...數據庫

咱們能夠直接打出Thread而後按這個組合鍵而後直接按回車就幫咱們自動添加了引用編程

謝謝Vincent Yang我才知道原來alt+shift+F10有個更方便的快捷鍵(ctrl+.),這樣就更方便了json

使用alt矩形選擇

當咱們在cs代碼裏拼html字符串的時候用的比較多,或者拼json字符串的時候編碼

當咱們按住alt而後拖動鼠標的時候會選擇一個矩形選擇區spa

好比這樣的代碼:線程

 

JS  =   @"     var store = new Ext.data.JsonStore({
        fields:['name', 'siwang','chusheng','biandong'],
        data: [
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c1.ToString()  +   @" ,chusheng:  "   +  b1.ToString()  +   @" ,biandong:  "   +  d1.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c2.ToString()  +   @" ,chusheng:  "   +  b2.ToString()  +   @" ,biandong:  "   +  d2.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c3.ToString()  +   @" ,chusheng:  "   +  b3.ToString()  +   @" ,biandong:  "   +  d3.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c4.ToString()  +   @" ,chusheng:  "   +  b4.ToString()  +   @" ,biandong:  "   +  d4.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c5.ToString()  +   @" ,chusheng:  "   +  b5.ToString()  +   @" ,biandong:  "   +  d5.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c6.ToString()  +   @" ,chusheng:  "   +  b6.ToString()  +   @" ,biandong:  "   +  d6.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c7.ToString()  +   @" ,chusheng:  "   +  b7.ToString()  +   @" ,biandong:  "   +  d7.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c8.ToString()  +   @" ,chusheng:  "   +  b8.ToString()  +   @" ,biandong:  "   +  d8.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c9.ToString()  +   @" ,chusheng:  "   +  b9.ToString()  +   @" ,biandong:  "   +  d9.ToString()  +   @" },
            {name:'
"   +  (year2 ++ +   @" 年',siwang:  "   +  c10.ToString()  +   @" ,chusheng:  "   +  b10.ToString()  +   @" ,biandong:  "   +  d10.ToString()  +   @" }
        ]
    });
" ;

咱們在改完前面的代碼後能夠直接矩形選擇而後複製到後面設計

按住ctrl點擊全選整個單詞,至關於雙擊全選

這個比較簡單,在咱們連續替換變量的時候用的比較多,複製一個變量而後一直按住ctrl,點要被替換的變量,而後再按下C,很方便3d

要習慣使用home和end鍵

好比咱們的光標停留在一行代碼的中間,咱們想複製這行代碼,可能大部門人都是得用鼠標,這時其實咱們能夠先按一下home鍵而後左手按住shift,再按一下end鍵,

由於home和end鍵在鍵盤上是挨在一塊兒的因此很方便

home=>按住shift=>end 而後就能夠ctrl+c了

其餘時候用home和end直接切換到行首行末也是很方便的

使用shift+del整行刪除

這個也是我很喜歡的一個快捷鍵,直接刪除光標所在的那一行代碼

我在該代碼的時候,好比複製了一行代碼從=後面開始改,直接編寫新代碼,而後回車而後一直按shift+del把後面的垃圾代碼所有刪掉,這樣咱們不用動鼠標去選再刪,省了不少時間

使用代碼段

編寫for或者foreach的時候咱們能夠只編寫一個for或者foreach而後連續按兩下tab就會自動生成for和foreach循環

其餘的代碼段也有不少,for和foreach是比較經常使用的吧

使用帶小紅帽的鍵盤

對咱們編碼人員來說最煩的就是雙手放在鍵盤上編碼的時候,有些操做須要擡起手去用鼠標操做,很浪費時間

因此咱們能夠用帶小紅帽的鍵盤,好比thinkpad的筆記本,當你用一段時間後,你就會發現小紅帽能夠至關於80%的鼠標

好比咱們編碼的時候想把光標移動一下,用小紅帽徹底能夠勝任,只要不是進行高精度的鼠標操做,不過我也不插鼠標用小紅帽玩過dota稍微有點費勁呵呵

如今個人同事有5,6個新買筆記本的都是買的thinkpad...呵呵有點打廣告的嫌疑哈,不過確實方便

設置輸入法

1)標點符號設置成英文

我如今用的時候qq的拼音輸入法,如今應該用這個跟搜狗的比較多吧

我通常把輸入法的標點符號設置成英文的,由於編碼的時候是用英文的標點,因此在咱們切成中文輸入一些註釋而後繼續輸入代碼的時候打個.能夠直接出來

2)勾上把輸入窗口已存在的結果輸入

輸入法還有一個就是切換輸入法時把輸入窗口已存在的結果輸入,這個都應該勾上,不少時候咱們寫代碼的時候忘了切成英文,因此打了一個new卻出現的是中文的輸入法,這時若是勾上了已經存在的結果輸出的話,咱們直接切回英文輸入法,這個new會直接輸出到代碼裏,不用再去打一個new了

 

代碼生成

將來編程的趨勢吧,從petshop時代咱們開始使用代碼生成底層類,如今直接用linq感受更方便了

1)根據數據庫文檔生成數據庫

不知道你們作項目是怎麼個流程,咱們是設計數據庫文檔,而後根據數據庫文檔直接生成數據庫

之後有機會再寫篇文章吧,簡單介紹下個人實現方式:

首先咱們的數據庫文檔都是這種格式的word文檔:

表名是標題而後下面是一個表格包括字段中文名和英文名等

而後咱們能夠把這個word文檔轉成html格式,而後用HtmlDocument類來解析這個html

這樣生成的數據庫字段都是用中文說明的

中文說明很重要,由於有這個咱們才能生成帶字段註釋的底層和生成apsnet頁面

我是先作的底層和頁面生成,而後再建數據庫的時候每一個字段都加說明很麻煩纔想的辦法作數據庫生成...呵呵人都是被逼的啊

 

暫時先想這麼多ctrl+j的智能提示地球人都知道的就不說了

歡迎你們補充

相關文章
相關標籤/搜索