1. 程式人生 > >高效使用Pycharm不完全指南

高效使用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><href=""></a></li>

<li><href=""></a></li>

<

li><href=""></a></li>

<li><href=""></a></li>

<li><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沒關係)