原文地址:http://www.cnblogs.com/chenkai/archive/2013/01/31/2888110.htmlhtml
說實話.做爲一個Coder.天天在各類IDE中切換編寫Code.若是一個IDE Look and Feel老是無形中影響你天天Code Farm的心情.那該是多麼不爽的事情.特別是針對本人對IDE老是有一種天生「潔癖感」.每當一們語言或技術在無心中吸引我.或是已經在粗糙的本文編輯器初體驗.都會在兩到三天體驗期脫離出來.立馬調到真正高效率的生成環境去Coding.高效率就意味固然脫不了IDE的支持.python
可是每次更換新的Coding環境.可能我會花上一到兩天或更多的時間去了解這門語言或技術的背景和使用場景 解決現實問題等.由於這直接影響我決定是否繼續下去.若是在這一切如期進行後.我通常也會上一天的時間去完善設置即將迎接新的Coding IDE設置. 沒看錯是一天的時間! 相似此次進入Python過程 實在是忍不住說點什麼.框架
並不是我想吐槽Pycharm.它確實是Code Farm Python的利器.我也是在衆多Coder推薦下才嘗試的使用它來作開發Python的IDE.在試用第一天我就頂購買正版的license.若是你想問我通常狀況一天時間到底花在哪?好吧聽我慢慢道來.dom
首先說說IDE UI界面就是前面提到Look And Feel.編輯器
在開闢一個新的技術領域.花了不少時間來判斷這門技術或語言是否值得去學.在IDE選擇我一直保持一種親身體驗的標準.原來也會查找網上一些對某些IDE評測.後來發現各類不靠譜.仍是得本身親身驗證. Coder與Coder之間喜愛和習慣真的不一.因此若是真的找到適合本身的.仍是乖乖本身去體驗吧.相似開發PHP時就用了一個下午時間試用目前市面全部主流的IDE.說說此次的Python吧.ide
你能在官方Guide文檔找到以下一篇文章.Integrated Development Environments Python IDES.函數
這篇文章如數列舉出當前市面全部支持Python IDE工具.別高興太早.別忘了後面支持列表.由於我下載Python 3.3最新版.但你能夠看到只有不多一些IDE支持了Python 3以上版本.well這樣也好大大減小選擇的範圍.工具
說到對Pycharm UI第一印象.首先這種界面佈局老是讓人感受不夠Clean. Ps:以下是我調整後的佈局
IDE在實際Coding過程只須要簡單明確三點.學習
A:當前項目解決方案目錄組織結構
B:Code Editor 主界面
C: Debug調試信息輸出Console或Error List或錯誤列表
D:版本控制集成.[狀態顯示和版本提交]
這四元素基本知足Coding過程的需求.但若是你打開一個IDE忽然跳出不少莫名奇怪的小窗口.你還須要瞭解這些窗口乾嗎的. Close掉後若是在須要時我須要跑到那去設置它顯示啊? 等等…… 這就像你去了解一個SDK框架中某一個極其微小的功能點時. 你都要加載一大堆或是調用一些你徹底不知道作什麼或是也不想了解一些實現原理和細節時.這也像原本你只想吃到冰激凌上藍莓.而對方卻給你一個製造冰激凌機器給你感覺同樣的.
須要和獲得的成本徹底不成正比啊.
IDE做爲工具自己就是解決開發效率、資源協做調度、版本控制這些很是實用的需求.可是 我想說的是可是……請你在搞定這些功能後.可以考慮一下那些天天即將用到這個IDE用戶的心情的.可否在實用和UI美觀上作一個很好折中. 不要太過醜陋 也不要太過簡單粗糙而致使難以操做. 這些Detail也會影響使用者的心情啊.對我來講首先UI要足夠的Clean. 固然這是創建功能強大基礎上. 特別對於一些佈局混亂的IDE 早已經我安裝load出界面那一刻後一份中已經卸載掉了.
IDEUI佈局有兩個極端. 一個是過分的開放.徹底擁護定製化. 另一個純粹就是雞肋.開放度低定義一些你徹底適應的操做習慣去Coding.相似Pycharm就是前者. Setting界面選項就可見一斑:
密密麻麻的操做選項被橫貼在一塊……
前者的代價是在複雜度高.若是你以爲你作一個產品. 須要學習的一門工具.而若是這個工具除了徒增的複雜度和極高學習曲線.生產效率和斧頭無心. 那這樣設計就有問題. 另一種.就是讓你適應它規定Role.這就像天天有人盯着你用雙手叫你畫畫通常.在好的才華和技藝也會在這種規則固然無存.相對前者我更痛恨是後者. 關鍵詞 Open.
相似上面選項橫排. 滿眼的信息 排版顯得極爲混亂.用戶關注度在界面呈現出後就已經失去焦點了. 大多早已Confused掉了.作好IDE佈局同時可以有必定開放度.
Code Theme:
折騰完頁面佈局.我通常會當即去下去對應編輯器的Code Theme. 由於大多編輯器默認Code Style都是很醜陋. 高亮和代碼顏色都沒法匹配都不夠合理.若是你經常使用NEtBeans你也會找到相似的ThemeBuilder定製.
惋惜Pycharm沒有.只有簡單的內置幾個簡單的Theme. 對於配色的細節還不夠滿意.FontSize 和BackGround Color 對比度過高.只能草草設置以下:L
不知道各位有沒有體驗」侵入式「Coding體驗. 這裏仍是採用NetBean作對比吧 這是我NetBeans配置的Python的CodeTheme:
很明顯[故意設置Dust]你會看到. Editor編輯器爲暗色. 而Solution和Console輸出的都是明亮色.這個會照成Coding過程當中你的注意力會被這些明亮色干擾.沒法真正集中到時常變化Editor. 可是若是咱們反過來設置成這樣 你會看到:
你會看到.Solution和Console背景色都比Editor要深. 這樣一來Editor明亮色就更容易吸引你的注意力.而這塊也真是高效Coding過程變化最大的一塊.通常狀況我解決一些批量容易處理Coding需求是.很容易在這種IDE設置狀況有着一種下沉的侵入式的體驗. 這樣會把你所有 注意力的焦點轉移到Editor上來,. 而每每根據我的經驗 這個過程效率每每比較高.
因此你才能感受Look and Feel用戶有多大.其實潛在轉移注意的焦點.
當Code Theme是進入這些更細節的一些東西.代碼高亮和文本框格式化也是涉及我的操做和細節.我始終是保持一種一種統一的Code Theme Style.這樣即便我在不一樣IDE切換時也會由於Code Theme不一樣而致使不適應.
第三是Call –Tip 和Auto-Complete
原本最先我體驗Python過程是在NetBeans.由於它配置簡單.只須要打一個插件包.在NetBeans就有了Python的開發環境.其實個人本機上什麼都沒裝.可是NetBeans在引入這個Python同時卻失去Call Tip的功能.這也是我拋棄NetBeans的一個重要緣由. 徹底無提示:
這讓我Coding過程出錯概率會大大增長.對於那些龐大的類庫和方法名 CAll –Tip 已是沒法或缺的.
好吧我曾任在購買Pycharm license以前.我基本使用全部免費的IDE. 是否是太偏執了. 沒辦法 不過仍是要來逐一吐槽一下:
首先使用就是PythonWin Editor 看名字就明白基於Windows. 選着使用主要由於它的Call Tip功能強大.只須要Import一個包. 而後F5一下全部函數和變量都能Call –Tips出來,很強大.但痛苦的是不能用來編寫wxPython.
Eric4也是一個很小衆的工具.可是我仍是用了. Call-Tips功能極弱.並且噁心的是必須先把導入打包用它的工具API Generator 生成API. 最無語的是隻能對包裏的類和函數進行Call-Tips提示. 這是個巨大缺陷. so give up
WingIDE的Auto Complete和Call Tips功能都很強大. 比PythonWin要強不少/.它不只可以提示代碼.還能在右側的工具裏顯示Doc.不過時Pro是商用版.我只是採用試用. Free版本偏偏就少了這兩個及其重要的功能.
Kodomo固然不陌生了. ActiveState出的IDE. tip功能通常.關鍵是免費版本的是不能調試的. 何況關鍵是原來在開發Php時我對這個工具就沒有好感.就是由於支持Python緣由繼續玩弄一下 果斷卸載了.
剩下就是Vim+Emacs 這個都是神器.不用多說.這個篇幅會放在下篇.固然除了如上這些.還使用一些PyScript一些輕量級的IDe 可是Call –Tips功能都不太滿意啊. 都在PythonWin之下.果斷不理.
說道這還好Pycharm對Call Tips和Auto complete功能都很完整.對Debug調試支持也很好.也是我願意付費一個重要緣由.
第四 快捷鍵.
對於一個注重全鍵盤操做Coder來講.若是編輯器不支持這個. 這也是我果斷拋棄的緣由之一.
如今基本全部IDE都支持快捷鍵.可是若是你具備數量Vim.並不想破換中操做習慣該如何? 好的IDE是繼承這些操做快捷鍵而且能夠修改和定製.而大多數IDE基本不會考慮這些.若是須要Visual Studio 和Vim切換.轉換新的IDE這就須要一個新的過程. 因此快鍵鍵保持和定製直接影響coding效率.
說了這麼多.其實開始一門新技術.找到一個好用IDE真的不簡單.特別對於我這種吹毛求疵 有潔癖的用戶.那更是得非通常功夫.吐槽這麼多.仍是但願Support IDe功能能真正作到好用 Clean. 美觀.這真的是夢想一件事. 若是你天天以爲用IDE都是一件快事. 想不提升開發效率都難啊.