高效使用Pycharm不完全指南
- 定位
- Search Everywhere
- Ctrl+游標
- 最近開啟的檔案
- 目錄樹的“雷達”
- 查詢
- 補全
- Tab
- 萬能的Alt-Enter
- Surroud with
- Emmet
- 編輯
- Basic
- Extend Selection/ Shrink Selection
- 多游標
- 重構
- Rename
- Safe delete
- Extract
- 調優
- 顏值
- 其它
定位
Search Everywhere
快捷鍵: double shift
可以搜檔名、目錄名(後面加/)、類名、方法名、函式名。
Ctrl+游標
當按住ctrl,滑鼠移到識別符號上面時,會顯示一些資訊。
當按住ctrl,並點選時,可以跳到定義處
當在定義處按住ctrl,並點選時,會彈框列出所有引用的地方,只有一個地方引用時,會直接跳
最近開啟的檔案
ctrl-e
目錄樹的“雷達”
scroll from source.
目錄樹會定位到當前檔案所在的位置。
查詢
- ctrl-f 當前檔案查詢
- shift-cmd-f 全域性查詢
- 目錄樹某個目錄右鍵,Find in Path,可以只在這個目錄範圍內進行查詢
補全
Tab
這個就不用說了。
萬能的Alt-Enter
不同場景有不同的動作。比如當在一個未找到引用的變數按下alt-enter時,會彈窗,讓你選擇自動import、建立函式引數、重新命名到一個已有的變數等。
Surroud with
快捷鍵: ctrl-alt-t
比如將游標所在的語句或塊用try...except...包住。
Emmet
Emmet使用特定的語法來展開小段程式碼,它類似CSS選擇器,使其成為完整的HTML程式碼。例如,下列序列:
div#page>div.logo+ul#navigation>li*5>a
將展開為:
<div id="page">
<div class="logo"></div>
<ul id="navigation">
<li><a href=""></a></li>
<li><a href=""></a></li>
<
<li><a href=""></a></li>
<li><a href=""></a></li>
</ul>
</div>
編輯
Basic
- ctrl-c(複製)。在沒選擇範圍的情況下會複製當前行,而不需要先選擇整行再複製。
- ctrl-v(貼上)。ctrl-shift-v可以在剪貼簿歷史中選擇一個去貼上。
- ctrl-x(剪下)
- ctrl-s(儲存)
- ctrl-z(撤銷)。ctrl-shift-z反撤銷。
- ctrl-/(註釋)。註釋後游標會自動到下一行,方便註釋多行。
- ctrl-d(複製行)
- ctrl-shift-u(轉換大小寫)
- ctrl-alt-L(格式化)
- ctrl-alt-o(優化import)
- shift-alt-↑↓(上下移動行)、shift-ctrl-↑↓(上下移動語句。一個語句可能有多行。並且會決定要不要進塊內和出塊外)。簡單的說,一個是物理移動行,一個是邏輯移動語句。
- shift-enter(在下面新開一行)。ctrl-alt-enter在上面新開一行。
- alt-←→單詞級別的移動; ctrl-←→行首/行尾; shift-←→左右移動帶選擇; ctrl-[]塊首/塊尾; cmd+↑↓上一個方法/下一個方法。
- cmd-L(Find/ Move to next Occurrence)
Extend Selection/ Shrink Selection
往外擴充套件選擇範圍。我一般用來選中單詞、兩個引號或括號之間的內容。而不是用滑鼠費勁的去選。
多游標
- Alt+點選(或拖動),在某個游標處再次點選,可以取消該游標。
- 雙擊Alt不放,然後按↑或↓
- cmd-g(Add Selection for Next Occurrence)
重構
Rename
比如將一個變數rename,所有用到這個變數的地方都自動跟著變。
Safe delete
比如刪除一個檔案,所有用到這個檔案的地方也跟著刪除。
Extract
提取選中的程式碼塊生成一個新的變數、屬性、方法、引數等
調優
- Help->Edit Custom VM Options,配置多點記憶體,使流暢。
- 禁用掉沒用的外掛。
顏值
裝外掛Material Theme UI。好看很多。
其它
- 在配對符號'")]}的關閉符號前,按相同按鍵,會忽略並移動游標到後面,不用老遠的去按→方向鍵。
- Smart Keys(Preference->Editor->General->Smart Keys設定)
- 輸入單個時插入一對引號或括號
- 當選中的時候輸入引號或括號,在兩邊加上引號或括號,而不替換選擇的內容
- 換行時智慧縮排
- 在語句內換行時會自動拼上反斜槓/
- 定義方法時自動插入self
- “Reformat on paste” and “smart indent pasted lines”
- 賢者模式(免打擾模式進行編碼)
- New Scratch File. 臨時編輯檔案時用
- Copy Reference. 比如在某個函式右鍵Copy Reference,貼上到django shell裡面方便import。
- 靜態分析。比如找出重複程式碼、檢查程式碼是否符合pep8等.
- 在目錄樹新建檔案的時候,可以多層,連目錄一起建立。類似mkdir -p的效果。比如輸入foo/bar/baz.py,如果沒有目錄foo和bar,會自動建立。
- 在編輯器內選擇後,可以右鍵“search with google”、“execute selected in console”
- 編輯程式碼的時候,行號右邊會有標記,插入、刪除、修改是不同標記,可點選進行diff和rollback
- 在目錄樹右鍵->Local History,可顯示改動歷史,並可還原到某個歷史。(注:跟git沒關係)