从Pycharm说起
說(shuō)實(shí)話.作為一個(gè)Coder.每天在各種IDE中切換編寫Code.如果一個(gè)IDE Look and Feel總是無(wú)形中影響你每天Code Farm的心情.那該是多么不爽的事情.特別是針對(duì)本人對(duì)IDE總是有一種天生“潔癖感”.每當(dāng)一們語(yǔ)言或技術(shù)在無(wú)意中吸引我.或是已經(jīng)在粗糙的本文編輯器初體驗(yàn).都會(huì)在兩到三天體驗(yàn)期脫離出來(lái).立馬調(diào)到真正高效率的生成環(huán)境去Coding.高效率就意味當(dāng)然脫不了IDE的支持.
但是每次更換新的Coding環(huán)境.可能我會(huì)花上一到兩天或更多的時(shí)間去了解這門語(yǔ)言或技術(shù)的背景和使用場(chǎng)景 解決現(xiàn)實(shí)問(wèn)題等.因?yàn)檫@直接影響我決定是否繼續(xù)下去.如果在這一切如期進(jìn)行后.我一般也會(huì)上一天的時(shí)間去完善設(shè)置即將迎接新的Coding IDE設(shè)置. 沒(méi)看錯(cuò)是一天的時(shí)間! 類似這次進(jìn)入Python過(guò)程 實(shí)在是忍不住說(shuō)點(diǎn)什么.
并非我想吐槽Pycharm.它確實(shí)是Code Farm Python的利器.我也是在眾多Coder推薦下才嘗試的使用它來(lái)做開(kāi)發(fā)Python的IDE.在試用第一天我就頂購(gòu)買正版的license.如果你想問(wèn)我一般情況一天時(shí)間到底花在哪?好吧聽(tīng)我慢慢道來(lái).
首先說(shuō)說(shuō)IDE UI界面就是前面提到Look And Feel.
在開(kāi)辟一個(gè)新的技術(shù)領(lǐng)域.花了很多時(shí)間來(lái)判斷這門技術(shù)或語(yǔ)言是否值得去學(xué).在IDE選擇我一直保持一種親身體驗(yàn)的標(biāo)準(zhǔn).原來(lái)也會(huì)查找網(wǎng)上一些對(duì)某些IDE評(píng)測(cè).后來(lái)發(fā)現(xiàn)各種不靠譜.還是得自己親身驗(yàn)證. Coder與Coder之間喜好和習(xí)慣真的不一.所以如果真的找到適合自己的.還是乖乖自己去體驗(yàn)吧.類似開(kāi)發(fā)PHP時(shí)就用了一個(gè)下午時(shí)間試用目前市面所有主流的IDE.說(shuō)說(shuō)這次的Python吧.
你能在官方Guide文檔找到如下一篇文章.Integrated Development Environments Python IDES.
這篇文章如數(shù)列舉出當(dāng)前市面所有支持Python IDE工具.別高興太早.別忘了后面支持列表.因?yàn)槲蚁螺dPython 3.3最新版.但你可以看到只有很少一些IDE支持了Python 3以上版本.well這樣也好大大減少選擇的范圍.
說(shuō)到對(duì)Pycharm UI第一印象.首先這種界面布局總是讓人感覺(jué)不夠Clean. Ps:如下是我調(diào)整后的
IDE在實(shí)際Coding過(guò)程只需要簡(jiǎn)單明確三點(diǎn).
A:當(dāng)前項(xiàng)目解決方案目錄組織結(jié)構(gòu)
B:Code Editor 主界面
C: Debug調(diào)試信息輸出Console或Error List或錯(cuò)誤列表
D:版本控制集成.[狀態(tài)顯示和版本提交]
這四元素基本滿足Coding過(guò)程的需求.但如果你打開(kāi)一個(gè)IDE突然跳出很多莫名奇怪的小窗口.你還需要了解這些窗口干嘛的. Close掉后如果在需要時(shí)我需要跑到那去設(shè)置它顯示啊? 等等…… 這就像你去了解一個(gè)SDK框架中某一個(gè)極其微小的功能點(diǎn)時(shí). 你都要加載一大堆或是調(diào)用一些你完全不知道做什么或是也不想了解一些實(shí)現(xiàn)原理和細(xì)節(jié)時(shí).這也像本來(lái)你只想吃到冰激凌上藍(lán)莓.而對(duì)方卻給你一個(gè)制造冰激凌機(jī)器給你感受一樣的.
需要和得到的成本完全不成正比啊.
IDE作為工具本身就是解決開(kāi)發(fā)效率、資源協(xié)作調(diào)度、版本控制這些非常實(shí)用的需求.但是 我想說(shuō)的是但是……請(qǐng)你在搞定這些功能后.能夠考慮一下那些每天即將用到這個(gè)IDE用戶的心情的.能否在實(shí)用和UI美觀上做一個(gè)很好折中. 不要太過(guò)丑陋 也不要太過(guò)簡(jiǎn)單粗糙而導(dǎo)致難以操作. 這些Detail也會(huì)影響使用者的心情啊.對(duì)我來(lái)說(shuō)首先UI要足夠的Clean. 當(dāng)然這是建立功能強(qiáng)大基礎(chǔ)上. 特別對(duì)于一些布局混亂的IDE 早已經(jīng)我安裝load出界面那一刻后一份中已經(jīng)卸載掉了.
IDEUI布局有兩個(gè)極端. 一個(gè)是過(guò)度的開(kāi)放.完全擁護(hù)定制化. 另外一個(gè)純粹就是雞肋.開(kāi)放度低定義一些你完全適應(yīng)的操作習(xí)慣去Coding.類似Pycharm就是前者. Setting界面選項(xiàng)就可見(jiàn)一斑:
密密麻麻的操作選項(xiàng)被橫貼在一塊……
前者的代價(jià)是在復(fù)雜度高.如果你覺(jué)得你做一個(gè)產(chǎn)品. 需要學(xué)習(xí)的一門工具.而如果這個(gè)工具除了徒增的復(fù)雜度和極高學(xué)習(xí)曲線.生產(chǎn)效率和斧頭無(wú)意. 那這樣設(shè)計(jì)就有問(wèn)題. 另外一種.就是讓你適應(yīng)它規(guī)定Role.這就像每天有人盯著你用雙手叫你畫畫一般.在好的才華和技藝也會(huì)在這種規(guī)則當(dāng)然無(wú)存.相對(duì)前者我更痛恨是后者. 關(guān)鍵詞 Open.
類似上面選項(xiàng)橫排. 滿眼的信息 排版顯得極為混亂.用戶關(guān)注度在界面呈現(xiàn)出后就已經(jīng)失去焦點(diǎn)了. 大多早已Confused掉了.做好IDE布局同時(shí)能夠有一定開(kāi)放度.
Code Theme:
折騰完頁(yè)面布局.我一般會(huì)立即去下去對(duì)應(yīng)編輯器的Code Theme. 因?yàn)榇蠖嗑庉嬈髂J(rèn)Code Style都是很丑陋. 高亮和代碼顏色都無(wú)法匹配都不夠合理.如果你常用NEtBeans你也會(huì)找到類似的ThemeBuilder定制.
可惜Pycharm沒(méi)有.只有簡(jiǎn)單的內(nèi)置幾個(gè)簡(jiǎn)單的Theme. 對(duì)于配色的細(xì)節(jié)還不夠滿意.FontSize 和BackGround Color 對(duì)比度太高.只能草草設(shè)置如下:L
不知道各位有沒(méi)有體驗(yàn)”侵入式“Coding體驗(yàn). 這里還是采用NetBean做對(duì)比吧 這是我NetBeans配置的Python的CodeTheme:
很明顯[故意設(shè)置Dust]你會(huì)看到. Editor編輯器為暗色. 而Solution和Console輸出的都是明亮色.這個(gè)會(huì)照成Coding過(guò)程中你的注意力會(huì)被這些明亮色干擾.無(wú)法真正集中到時(shí)常變化Editor. 但是如果我們反過(guò)來(lái)設(shè)置成這樣 你會(huì)看到:
你會(huì)看到.Solution和Console背景色都比Editor要深. 這樣一來(lái)Editor明亮色就更容易吸引你的注意力.而這塊也真是高效Coding過(guò)程變化最大的一塊.一般情況我解決一些批量容易處理Coding需求是.很容易在這種IDE設(shè)置情況有著一種下沉的侵入式的體驗(yàn). 這樣會(huì)把你全部 注意力的焦點(diǎn)轉(zhuǎn)移到Editor上來(lái),. 而往往根據(jù)個(gè)人經(jīng)驗(yàn) 這個(gè)過(guò)程效率往往比較高.
所以你才能感覺(jué)Look and Feel用戶有多大.其實(shí)潛在轉(zhuǎn)移注意的焦點(diǎn).
當(dāng)Code Theme是進(jìn)入這些更細(xì)節(jié)的一些東西.代碼高亮和文本框格式化也是涉及個(gè)人操作和細(xì)節(jié).我始終是保持一種一種統(tǒng)一的Code Theme Style.這樣即使我在不同IDE切換時(shí)也會(huì)因?yàn)镃ode Theme不同而導(dǎo)致不適應(yīng).
第三是Call –Tip 和Auto-Complete
本來(lái)最早我體驗(yàn)Python過(guò)程是在NetBeans.因?yàn)樗渲煤?jiǎn)單.只需要打一個(gè)插件包.在NetBeans就有了Python的開(kāi)發(fā)環(huán)境.其實(shí)我的本機(jī)上什么都沒(méi)裝.但是NetBeans在引入這個(gè)Python同時(shí)卻失去Call Tip的功能.這也是我拋棄NetBeans的一個(gè)重要原因. 完全無(wú)提示:
這讓我Coding過(guò)程出錯(cuò)幾率會(huì)大大增加.對(duì)于那些龐大的類庫(kù)和方法名 CAll –Tip 已經(jīng)是無(wú)法或缺的.
好吧我曾任在購(gòu)買Pycharm license之前.我基本使用所有免費(fèi)的IDE. 是不是太偏執(zhí)了. 沒(méi)辦法 不過(guò)還是要來(lái)逐一吐槽一下:
首先使用就是PythonWin Editor 看名字就明白基于Windows. 選著使用主要因?yàn)樗腃all Tip功能強(qiáng)大.只需要Import一個(gè)包. 然后F5一下所有函數(shù)和變量都能Call –Tips出來(lái),很強(qiáng)大.但痛苦的是不能用來(lái)編寫wxPython.
Eric4也是一個(gè)很小眾的工具.但是我還是用了. Call-Tips功能極弱.而且惡心的是必須先把導(dǎo)入打包用它的工具API Generator 生成API. 最無(wú)語(yǔ)的是只能對(duì)包里的類和函數(shù)進(jìn)行Call-Tips提示. 這是個(gè)巨大缺陷. so give up
WingIDE的Auto Complete和Call Tips功能都很強(qiáng)大. 比PythonWin要強(qiáng)很多/.它不僅能夠提示代碼.還能在右側(cè)的工具里顯示Doc.不過(guò)期Pro是商用版.我只是采用試用. Free版本恰恰就少了這兩個(gè)及其重要的功能.
Kodomo當(dāng)然不陌生了. ActiveState出的IDE. tip功能一般.關(guān)鍵是免費(fèi)版本的是不能調(diào)試的. 況且關(guān)鍵是原來(lái)在開(kāi)發(fā)Php時(shí)我對(duì)這個(gè)工具就沒(méi)有好感.就是因?yàn)橹С諴ython原因繼續(xù)玩弄一下 果斷卸載了.
剩下就是Vim+Emacs 這個(gè)都是神器.不用多說(shuō).這個(gè)篇幅會(huì)放在下篇.當(dāng)然除了如上這些.還使用一些PyScript一些輕量級(jí)的IDe 但是Call –Tips功能都不太滿意啊. 都在PythonWin之下.果斷不理.
說(shuō)道這還好Pycharm對(duì)Call Tips和Auto complete功能都很完整.對(duì)Debug調(diào)試支持也很好.也是我愿意付費(fèi)一個(gè)重要原因.
第四 快捷鍵.
對(duì)于一個(gè)注重全鍵盤操作Coder來(lái)說(shuō).如果編輯器不支持這個(gè). 這也是我果斷拋棄的原因之一.
現(xiàn)在基本所有IDE都支持快捷鍵.但是如果你具有數(shù)量Vim.并不想破換中操作習(xí)慣該如何? 好的IDE是繼承這些操作快捷鍵并且可以修改和定制.而大多數(shù)IDE基本不會(huì)考慮這些.如果需要Visual Studio 和Vim切換.轉(zhuǎn)換新的IDE這就需要一個(gè)新的過(guò)程. 所以快鍵鍵保持和定制直接影響coding效率.
說(shuō)了這么多.其實(shí)開(kāi)始一門新技術(shù).找到一個(gè)好用IDE真的不簡(jiǎn)單.特別對(duì)于我這種吹毛求疵 有潔癖的用戶.那更是得非一般功夫.吐槽這么多.還是希望Support IDe功能能真正做到好用 Clean. 美觀.這真的是夢(mèng)想一件事. 如果你每天覺(jué)得用IDE都是一件快事. 想不提高開(kāi)發(fā)效率都難啊.
分類: Python標(biāo)簽: Python, IDE, Vim, Code Theme, Look and Feel, 吐槽綠色通道:好文要頂關(guān)注我收藏該文與我聯(lián)系chenkai關(guān)注 - 2
粉絲 - 583榮譽(yù):推薦博客+加關(guān)注20(請(qǐng)您對(duì)文章做出評(píng)價(jià)) ? ?上一篇:Elmah 日志記錄組件
下一篇:初識(shí)Python
Add your comment
#1樓六樓的雨2013-05-04 20:48
哇,LZ好多python都寫成pythone啦支持(0)反對(duì)(0)回復(fù)引用#2樓[樓主]chenkai2013-05-04 21:13
@六樓的雨呃
罪過(guò)罪過(guò).
主要是我用輸入法在輸入比較看 就把python 達(dá)成pythone
le支持(0)反對(duì)(0)回復(fù)引用
#3樓[樓主]chenkai2013-05-07 15:00
@六樓的雨今天上博客 實(shí)在看到你的評(píng)論
忍不住修正全部的筆誤...
看來(lái)以后對(duì)于新東西 還是更加嚴(yán)謹(jǐn)些
:)支持(1)反對(duì)(0)回復(fù)引用
#4樓lei wu2013-08-22 16:53
求code theme配置詳細(xì)過(guò)程 多謝啦 你的那個(gè)netbeans的效果好帥支持(0)反對(duì)(0)回復(fù)引用#5樓[樓主]chenkai2013-08-23 12:56
@lei wu你Google 一下 “NetBean Themes”
排名第一個(gè)是一個(gè)netbean 主題站點(diǎn).
找到你喜歡的主題 并下載該主題文件.
然后再打開(kāi)netbean 在選項(xiàng)中導(dǎo)入皮膚包. 然后重新打開(kāi)netbean 既可以看到新主題了.
Good luck
:)支持(0)反對(duì)(0)回復(fù)引用
#6樓[樓主]chenkai2013-08-23 13:02
@lei wu看這個(gè)站點(diǎn)
自己去下載 http://netbeansthemes.com/
:)支持(0)反對(duì)(0)回復(fù)引用
#7樓lei wu2013-08-23 14:49
@chenkai多謝多謝 嘿嘿支持(0)反對(duì)(0)回復(fù)引用
#8樓Miccc2013-08-24 02:17
可以試試sublime text支持(0)反對(duì)(0)回復(fù)引用#9樓[樓主]chenkai2013-08-24 12:28
@Miccc試過(guò).支持(0)反對(duì)(0)回復(fù)引用
#10樓flykite19882013-09-25 21:20
試用過(guò)pydev不?支持(0)反對(duì)(0)回復(fù)引用#11樓[樓主]chenkai2013-09-26 13:09
@flykite1988用過(guò).
還好.,
總體考慮來(lái)說(shuō)還是 pycharm 使用比較方便
轉(zhuǎn)載于:https://blog.51cto.com/584250550/1381278
總結(jié)
以上是生活随笔為你收集整理的从Pycharm说起的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (一)FlexViewer之整体框架解析
- 下一篇: POJ3274Gold Balanced