
hi
PyCharm和IntellJ IDEA使用筆記
JetBrains的IDE太強了, 除非只要在linux下寫簡單的東西用vim以外,其他寫scala/java用IntellJ, python用PyCharm. WebStorm的功能應該都包含在前面這兩個裡面了,html/css/javascript的功能跟設定都含在裡面了.到現在還在熟悉這個IDE的功能來增加打code效率,希望可以更省時間.
Ultimate版本的Django Support:
File -> Settings -> Language & Frameworks -> Django :
Check Enable Django support
Select project path
Select manage.py path
Select setting.py path
之後就可以用tool那邊選擇run manage.py task了,比起用terminal好處是有manage.py 後面的command suggestion. 但是要用django shell會變數無法suggestion(tab無效)
JetBrains IDE共通功能
- Local History:
- 超級好用的功能,可以記錄每個檔案的所有更改紀錄,不用commit到git(習慣用git可能會比較好,但我比較喜歡寫好ok的版本或是做完一定的量再commit,太小的差別不想commit).
- 假設我現在在project寫了一個版本A去測試,得到結果後想再去寫版本B來跟A比較.這時只要對project上按右鍵(若是只有一個檔案也可以按那個檔案)選Local History再按Put Label記錄這個版本.(也可以不設定Label只是要自己查時間去看哪一個版本).再去寫B版本,發現效果不好要跳回A,只需要點剛才的路徑,按右鍵->Local History->Show History,找前面的label下的一個版本,按revert就好.
- 如果需要B版本的某幾行,可以點開那個需要的檔案,會有comparison.可以按accept把之前那段code移到現在這邊即可.
- Vim Emulator
- 讓編輯器能夠有vim的編輯功能,自己常開,但有時跟IDE編輯器快捷鍵衝突時要先關掉.
- Deployment
- 若是要連到別台環境上coding,可以用,但有時本地跟遠端的同步還是有點麻煩,還找不到可以隨時監測並同步遠端到本地端的設定.自己還是用這邊的功能,但之後應該會改成在windows上掛載linux磁碟,這樣同步問題就沒有了.若是用virtualenv,可以按project->setting->interpreter選擇remote environment,讓IDE可以提示library錯誤,但是PyCharm在用pip install東西有點慢,有時還會有奇怪的安裝錯誤.
- Reformat Code
- 按Code-> Reformat Code.應該每個編輯器都有.這邊可以和editorconfig結合,像如果在html設定縮排空兩格,python空四格,IDE在html時使用會自動用成兩格. 懶得縮排,按一下Reformat Code就可以排好了.
- Class Diagram
- 如果研究所知道這個IDE就好了,之前eclipse產生diagram的工具爛爛的,sublime的自動產生diagram我裝不起來=.=.寫完code或打好class name,在project的某個路徑下按右鍵diagram-> Show Diagram就好了.
- Trace Code
- call一個method會出現提示parameter要放什麼.ctrl+左鍵可以過去看library的src code. Scala可以看implicit幹了什麼事情(用純文字編輯器根本GG)
- Multiple Selection
- Sublime首頁有的功能都有.官方說明
- Search
- 兩下shift.找檔案 class function都可以
- Terminal
- 可以在IDE裡開啟local端terminal. 不用再切換視窗.若是遠端環境,用Tool->Start SSH session,這邊有bug是打到注音有時terminal就當掉,超煩.(2017.1 Pycharm已經修正打中文會當掉的問題了)
- Console
- 有python console跟scala console直接測試code.不過scala worksheet比較好用.可以整合Ipython,但是我是直接ipython跟django 的shell結合
- Postfix completion
- https://www.jetbrains.com/help/pycharm/2016.3/postfix-completion.html
- 每種語言都有,以python為例:
- 打上a.ifnn 然後按快捷鍵(用上面連結說明看,預設應該是tab)就會變成
- if a is not None:
Like my work?
Don't forget to support or like, so I know you are with me..
Comment…