From: http://blog.csdn.net/u013088062/article/details/50249751
From: http://blog.csdn.net/u013088062/article/details/50250915
From: http://blog.csdn.net/u013088062/article/details/50251413
From: http://blog.csdn.net/u013088062/article/details/50252295
From: http://blog.csdn.net/u013088062/article/details/50259501
From: http://blog.csdn.net/u013088062/article/details/50260985
From: http://blog.csdn.net/u013088062/article/details/50262567
From: http://blog.csdn.net/u013088062/article/details/50263637
From: http://blog.csdn.net/u013088062/article/details/50264865
From: http://blog.csdn.net/u013088062/article/details/50265771
From: http://blog.csdn.net/u013088062/article/details/50265771
From: http://blog.csdn.net/u013088062/article/details/50320675
最全Pycharm教程(14)——Pycharm編輯器功能總篇
最全Pycharm教程(15)——Pycharm編輯器功能之自動生成格式
最全Pycharm教程(16)——Pycharm編輯器功能之代碼自動生成
最全Pycharm教程(17)——Pycharm編輯器功能之自動導入模塊
最全Pycharm教程(18)——Pycharm編輯器功能之代碼拼寫提示
最全Pycharm教程(19)——Pycharm編輯器功能之代碼折疊
最全Pycharm教程(20)——Pycharm編輯器功能之模板應用
最全Pycharm教程(21)——Pycharm編輯器功能之代碼快速修改
最全Pycharm教程(22)——Pycharm編輯器功能之窗口選項卡管理
最全Pycharm教程(23)——Pycharm編輯器功能之代碼高亮顯示及錯誤提示機制
最全Pycharm教程(24)——Pycharm編輯器功能之宏定義
最全Pycharm教程(25)——Pycharm編輯器功能之查看幫助文檔
編輯器框架
選項卡管理
實用功能配置
(1) 自定義自動縮進
(2) 語法自動補全
(3) 代碼自動補全
(4) Warming提醒
代碼折疊 + 環繞注釋 # Ctrl+Period, Code | Surround with主菜單命令
模板應用
宏操作
幫助文檔
1、主題
在編寫代碼的過程中,大部分時間都花在了編輯框的交互中。為了能夠更高效的使用這個工具,我們將對其一下特點進行分節介紹:
- Viewing documentation
- Using macros
- Syntax highlighting and error indication
- Managing editor tabs
- Intention actions and quick fixes
- Creating and applying live templates (code snippets)
- Code folding
- Code completion
- Auto-import
- Auto-generating code
- Auto-editing with PyCharm
編輯器框架
3、鳥瞰編輯框
(1)主編輯區,用來編寫代碼。
(2)編輯框的標題欄,標記了當前處於激活狀態下的編輯框選項卡,每個選項卡中都隱含了大量的相關的快捷菜單命令,詳見Managing Tabs。
(3)行號,默認顯示,如果需要可以通過右擊行號取消Show line numbers復選框來隱藏行號。當然通過Settings | Editor | Appearance - Show line numbers主菜單命令也能到達同樣目的。
(4)俗稱左槽,此時這里顯示了三種圖標,分別為用於調試的斷點breakpoint,用來導航的書簽bookmarks。
(5)彈出的拼寫提示code completion窗口
(6)俗稱診斷標志球。當代碼出現錯誤時,Pycharm會以紅色波浪線標記錯誤代碼行,在右槽對應行顯示診斷標志球,並給出具體提示。
(7)在拼寫提示菜單的左側,有一個紅色的燈泡,功能參見 quick fix。
(8)右槽,處於編輯框的右側,顯示各種顏色的標志來指示代碼狀態,是否存在錯誤、警告等等。同樣具有導航功能,方便我們快速定位代碼出錯位置、轉到指定代碼行等等。
4、配置編輯器
Pycharm的編輯器配置十分靈活,在設置對話框中(Ctrl+Alt+S - IDE Settings - Editor)可以對其外觀和行為進行各種各樣的更改:
在這里你可以找到關於鼠標、滾輪、代碼范圍、錯誤高亮顯示方案等相關的設置命令。
雖然你可以直接使用默認的編輯器設置,但如果你希望修改其中的部分設置的話,可以參考editor optionshere或者單擊界面的help按鈕。
舉個例子,你可能希望使用“ctrl+鼠標滾輪 來改變字體大小”這一功能,這個功能默認情況下是關閉的,需要手動打開。再比如你可能已經習慣了"Autoreparse delay"功能,這些都需要手動進行設置。
接下來我們就會分解對編輯器的功能進行介紹。
選項卡管理
1、主題
我們已經注意到Pycharm的主編輯框是基於窗口選項卡機制顯示的,Pycharm選項卡多種多樣,這里我們將詳細介紹這種選項卡機制。
6、選項卡的拆分與合並
什么情況下需要對選項卡進行拆分呢?
-
假設我們編寫的文件非常長,我們希望同時顯示這個文件的不同部分,
-
或者希望在一個窗口中同時查看多個文件,這種情況下就需要對選項卡進行拆分。
-
另外一種情況就是在創建選項卡組groupes of tabs的時候也會用到拆分技術。
在選項卡標題區域的快捷菜單中有拆分命令:
需要強調的是在系統定義的快捷鍵配置方案中(比如說默認的Windows快捷鍵方案)是沒有與拆分命令相關聯的快捷鍵的,我們向其中自定義添加對應的快捷鍵設置。詳見Configuring keyboard schemes和Configuring keyboard shortcuts。
拆分后的窗口共享一個剪貼板,因此可以很方便的在各個選項卡之間進行復制粘貼,當然也可以將一個選項卡組的文件拖動到另一個選項卡組中。
也可以在已拆分和未拆分的選項卡組中進行切換,使用主菜單命令Window → Editor Tabs → Goto Next Splitter/Goro Previous Splitter。
Pycharm允許我們更改拆分方向。例如我們已經創建了一個垂直方向的拆分窗口,並且不想再看到水平拆分,只需選擇標題區域快捷菜單命令Change Splitter Orientation,或者主菜單命令Window → Editor Tabs。
當我們厭倦了拆分的窗口后,可以通過擇標題區域快捷菜單命令Unsplit來取消拆分,或者是主菜單命令Window → Editor Tabs。當然這樣只會取消當前選項卡組的拆分,如果希望取消所有拆分,選擇Unsplit All命令即可。
7、選項卡屬性配置
我們可以在Pycharm設置對話框中更改編輯框選項卡的屬性配置。打開Editor Tabs頁面(單擊主工具欄的設置按鈕,或者選擇File→Settings主菜單命令,展開Editor節點,單擊Editor Tabs),依據個人習慣進行更改:
更多選項卡信息參見Managing editor tabs。
實用功能配置
(1) 自定義自動縮進
縮進規則涉及了Python相對固定的代碼風格標准,並且這個標准是根據你的團隊定制的(即一個公司需要遵循統一標准),指定好標准后,Pycharm會幫助我們按照標准來維護代碼風格。
接下來我們介紹Pycharm具體是如何實現這個功能的。同樣以這段簡單的代碼為例,打開設置對話框,展開Code Style節點,打開 Python頁(Ctrl+Alt+S→Project Settings→Code Style →Python):
如你所見,這里規定的縮進尺寸為4個空格,Pycharm按照這個規則來進行代碼的自動生成以及格式檢查reformatting。當然我們更改縮進規則(就和修改其他代碼規則一樣)。假設你希望縮進個數為5個空格,即生成的所有新的代碼相對於上層代碼的縮進個數均為5個空格。瀏覽Smart Keys頁面獲得更詳細的信息。
(2) 語法自動補全
接下來我們測試一個更復雜的情況——編輯一個Django模板。對於語法非常復雜的Django模板,語法自動補全功能就顯得至關重要。OK,開始輸入一個Django標簽
一旦你鍵入一個花括號,Pycharm就會自動補全另外一個:
並且光標會停在兩個%之間,方便我們輸入代碼:
類似的,對於{{標志Pycharm同樣會自動補全另外一半。
語法自動補全功能的相關設置位於編輯器設置的Smart Keys頁面:Ctrl+Alt+S→IDE Settings→Editor→Smart Keys:
舉個例子,如果希望Pycharm能夠自動補全圓括號、方括號等,需要勾選Insert pair bracket復選框;
要想自動補全引號則需要勾選Insert pair quote復選框。
對於Django模板,有一個專門的復選框Auto-insert closing }} and %} in Django templates以供選擇。
(3) 代碼自動補全
首先,我們實例化一個類,Pycharm會立即顯示一個紅色燈泡來給出快速補全的建議:
i. 自動創建一個"類"
這里我們希望創建一個類,選擇對應的提示命令,Pycharm會根據名稱自動創建一個類。
ii. 類的成員函數
接下來我們調用這個類的成員函數(一般情況下,一旦你在類名后面輸入一個點號,Pycharm的代碼補全機制就會列出當前可用的函數名稱,然而在這里我們所用的成員函數還沒有在類中進行創建)。
同樣的情形,選擇創建該方法,然后觀察PyCharm如何生成成員函數:
iii. 類的成員變量
接下來我們准備向類中添加一個成員變量"color",Pycharm會提示我們創建一個成員變量:
iv. 類的構造函數
OK,Pycharm智能的完成了變量的創建添加——創建了一個構造函數:
v. 類的全局函數
最后,也可以通過Pycharm智能創建一個全局函數:
vi. 自動導入模塊
a) 關閉自動導入功能
按下Alt+Enter,采取快捷菜單中的建議,此時import命令會被添加到導入模塊的代碼部分,並且輸入光標仍留在原位,方便我們繼續輸入而無需重定位:
這里有一個小問題,如果這個窗口出現讓你很煩惱,不要着急,單擊右下角那個帥哥就可以關閉它了:
單擊那個帥哥頭像會彈出一個窗口,取消Import popup復選框,此時就取消了自動導入的功能。當然在配置對話框的Auto-Import page頁面也可以進行同樣操作(Settings → Editor → Auto-Import):
當然,如果你希望關閉導入助手,直接取消這一項的勾選即可(Settings → Editor → Auto-Import)。
當導入助手關閉時,不必驚慌。
此時Pycharm不會直接給出提示,但會以紅色波浪線標記缺失模塊的代碼位置,同時在左側顯示一個紅色燈泡,單擊這個燈泡,或者按下Alt+Enter快捷鍵。
b) 優化自動導入功能
當你在完善代碼的過程中,總會停止使用一些導入聲明(例如調試代碼所對應的庫,在調試完成后就不再起作用)。然而這些import聲明仍然存在於你的工程中,你不得不停下來從頭搜索,找出並刪除這些聲明語句,這種做法不僅效率低而且容易出錯,很可能會多刪或者漏刪。
Pycharm能夠幫助我們處理掉這些冗余的import聲明語句,也就是所謂的 Optimize Imports功能,這個功能能夠幫助你隨時刪除工程中的冗余import聲明語句。
注意到,在Pycharm編輯環境中那些冗余的imports語句都是灰色顯示的:
為了移除這些冗余語句,按下Ctrl+Alt+O(或者選擇Code → Optimize Imports菜單命令),Pycharm彈出如下對話框,提示你選擇需要清理的文件(當前文件還是當前目錄下的所有文件):
單擊OK,清理完成:
vii. 自動拼寫提示
當然如果你想關閉拼寫提示功能,可以通過Ctrl+Alt+S → Settings → Editor → Code Completion命令打開拼寫提示功能對話框,取消Autopopup code completion in (ms)復選框的勾選即可。
然后你就需要將選中的名稱插入到當前位置,Pycharm提供了兩種插入方法:
- 按下回車,對應變量會添加到當前光標的位置。
- 按下Tap鍵,選中的名稱會替換掉當前光標右側的字符串。 // <-- 不錯哦
按下Ctrl+Alt+S打開設置對話框,展開Editor節點,單擊 Code Completion頁:
如你所見,Pycharm允許我們對拼寫提示功能做各種各樣的更改以滿足需求,如果你不清楚某些選項的具體功能,單擊Help按鈕獲取幫助信息。
更多拼寫提示功能相關信息參見this link。
(4) Warming提醒
i. 燈泡提醒
我們經常發現在程序中會彈出一個亮着的燈泡,它是用來干什么的?
- 黃色燈泡意味着Pycharm對你當前編寫的代碼提出了一些建議,此時的程序並沒有什么錯誤,但是可以對其進行一些改進,例如添加幾行說明文檔等等。另外一個作用就是創建使用源,比如當你使用了一個尚不存在的函數,Pycharm會通過這種方式來提醒你去創建它。
- 紅色燈泡則意味着Pycharm發現當前代碼中存在錯誤而給出的修正建議,例如需要導入缺失的第三方庫、源文件丟失等等。Pycharm會給出快捷方便的糾錯提醒。
Pycharm將給出的各種各樣的修改建議顯示在建議列表中,可以通過以下方式打開建議列表:
單擊燈泡圖標。
按下Alt+Enter快捷鍵。
更多相關信息參見Intention Actions。
ii. 代碼錯誤提示
如果Pycharm在對代碼分析的過程中發現了錯誤,則會按照以下方式給出提示:
用紅色波浪線標記錯誤代碼,鼠標懸停在波浪線上時會給出詳細的錯誤信息。
標題欄的文件名也會用紅色波浪線標記,在項目窗口中的目錄也會有同樣的標記。
在右槽的對應位置顯示錯誤標識,鼠標指針懸停在上方時會給出詳細錯誤信息。
這些錯誤標識也可以起到導航作用,幫助我們快速定義錯誤發生的位置。
在右槽頂端顯示整個文件的狀態標識。
- 綠色帶便一切正常,
- 黃色代表存在一些警告,
- 紅色代表存在錯誤。
當然這種錯誤提示機制的配色方案也是可以更改的,在字體及顏色設置對話框中的General頁面進行設置(Ctrl+Alt+S→IDE Settings→Editor→Colors and Fonts→General):
注意窗口左下角的帥哥頭像:
他的名字叫Hector-the-Inspector,負責代碼的糾錯檢查,單擊這個頭像,會彈出一個窗口,里面有代碼的高亮程度調節器:
如果你對自己的編程水平很有自信,那么你可以向左拖動到Syntax或者Hector頭像None。
- 在Syntax位置,系統只會對語法錯誤給出高亮提示,Hector頭像只剩一半。
- 在None位置,代碼糾錯功能完全關閉,編程速度更快,但也更容易出錯,對應Hector頭像消失。
不過這種更改只對當前文件有效。
如果你想更改代碼糾錯機制,單擊Configure inspections鏈接,更多有關代碼糾錯機制的信息參見Code Inspections中的code inspection tutorial。
代碼折疊 + 環繞注釋
4、默認代碼塊的折疊規則
默認情況下折疊先會標記類和函數的實現部分,折疊也是針對這部分代碼塊進行的,即默認折疊一個類、一個函數。
5、折疊任意代碼片
假設,你希望折疊幾句零散的程序,而這些語句並不屬於默認可折疊的代碼塊(不是一個完整的類或函數),如何做到?
首先選中你希望折疊的代碼片
然后進行以下操作(三選一即可):
-
- 在主菜單選擇Code | Folding | Fold Selection/Remove Region菜單命令。
- 右擊選中的代碼片,在快捷菜單中選擇Folding | Fold Selection/Remove Region
- 按下Ctrl+Period快捷鍵
此時選中的代碼片被折疊隱藏。
需要注意的就是所選代碼片應該位於類體或者函數體內,如果我們選擇了類或函數開頭的定義部分,是無法對這部分代碼進行折疊隱藏的。
6、使用雙行注釋來注釋代碼
Pycharm提供了兩種邏輯代碼塊環繞注釋方式surround:
VisualStudio模式:
NetBeans模式:
具體操作如下:
(1)選中待環繞注釋的代碼塊
(2)以下操作二選一
使用Code | Surround with主菜單命令
按下Ctrl+Alt+T
(3)在彈出的快捷菜單中選擇需要的注釋風格:
(4)輸入一些必要的注釋描述
當通過這種方法對代碼片進行環繞注釋之后,折疊開關會顯示在注釋行左側:
單擊折疊開關可折疊對應代碼片,只顯示添加的環繞注釋信息:
更多有關代碼折疊功能的信息參見here。
模板應用
Pycharm自帶了很多靈活的模板,但針對python本身的模板只有一個。這里我們將詳細介紹如何針對Python類來創建模板並使用。
對於Python編程以及基本模板的使用我們這里不再贅述。關於模板的類型、縮寫、變量名、以及存儲的相關信息參見Live Templates;模板的使用方法參見 Creating Code Constructs by Live Templates。
4、創建一個根模板
打開設置對話框(單擊工具欄的設置按鈕,或者按Ctrl+Alt+S快捷鍵),在IDE Settings設置下單擊Live Templates:
單擊綠色加號,等待奇跡。
首先,注意到在user下面出現了一個新的分組。
其次,選中user組后出現一個名為<abbreviation>的根模板
最后,界面上有縮寫、描述說明、模板內容等輸入窗口。
5、指定模板的 縮寫 和 上下文環境
(1) 第一步,輸入模板縮寫 template abbreviation,這里定義為class。
(2) 然后輸入描述說明description(可選),指定模板應用的上下文環境(這里選擇Python):
(3) 最上方expansion值選擇默認的Tap即可。
6、定義模板文本
在模板文本欄中輸入以下代碼:
其中使用$標記包圍的部分為模板變量template variables,Pycharm將其標記為紅色方便我們辨認:
這些模板變量目前為空,接下來我們對其進行定義。
4、編輯(模板文中的)模板變量
點擊Edit variables按鈕:
在Edit template variables對話框中顯示了當前的模板變量列表:
對於變量$object$,我們給出其缺省值(object),單擊OK按鈕:
上面列表中所顯示的變量並不包含 $END$,可見Pyhcarm不希望我們對其進行更改。
這是因為 $END$已經進行了預定義,因此是不可編輯狀態。它用來指示模板展開后輸入光標的默認位置,方便我們對模板對應的代碼進行完善。我們這里這個光標會默認置於類聲明之后。
5、保存自定義模板
非常簡單,單擊設置窗口中的OK按鈕即可。
6、使用自定義模板
首先,創建一個Python文件,這里命名為myPythonFile:
編輯這個新建的Python文件。接下來我們在其中創建一個類聲明。輸入模板縮寫class,會發現我們自定義的模板已經出現在提示列表中了,沒錯,就是我們剛才定義的那個:
按下Tap鍵選擇該項。
正如期望的那樣,縮寫名成功擴展成為了一個基本的Python類。紅色下划線標記了接下來期望輸入的位置,當你輸入類名時(對應模板變量class),就會插入到當前紅色波浪線所在位置:
注意這里的模板變量class已經應用兩次了:在類的聲明語句和構造函數中。在構造函數中Pycharm對其進行了自動填充(填充為self)。
輸入類名,回車,紅色波浪線移動到下一行,輸入對應內容,最后回車:
最終,光標定位在類末尾。
更多自定義模板信息參見Creating Code Constructs by Live Templates。
宏操作
1、為什么使用宏
加入你需要重復某種操作很多次,例如選中源碼並將其發送到控制台端調試,我們能不能將着一系列重復的操作簡化為一步,甚至用一組快捷鍵來代替呢?
3、錄制宏
在主菜單上選擇Edit→Macros→Start Macro Recording命令,在窗口底部出現Macro recording started的提示信息。
打開你想要執行的腳本文件(注意Using Macros in the Editor中所描述得列表限制),然后進行對應的需求操作:
(1)全選編輯器中的代碼(例如在編輯窗口中按下Ctrl+A)
(2)右擊,在彈出的快捷菜單中選擇Execute selection in console命令
然后單擊主菜單的Edit→Macros→Stop Macro Recording命令,Pycharm會提示你保存當前記錄的宏。
此時如果未指定宏明,Pycharm會將其設定為一個臨時的宏命令,這里我們將這個宏命名為 "Run in console":
此時,再次查看Edit→Macros菜單,我們會在列表中發現我們剛剛定義的宏命令。
4、為宏命令指定快捷鍵
接下來我們為這條宏命令指定一個快捷鍵組合,做法如下。
在設置對話框中,打開Keymap頁,展開Macros節點,找到我們新添加的宏命令"Run in console",右擊,在彈出的快捷菜單中選擇Add keyboard shortcut:
接下來,在Enter keyboard shoctrut dialog對話框中指定期望的快捷鍵組合。注意此時我們只能通過鼠標指針來單擊對話框中的控件,任何鍵盤操作都會被認為是快捷鍵的設置內容。
如你所見,系統並未提示相關快捷鍵沖突,我們的設置可用,單擊應用並關閉對話框。此時新增的快捷鍵會顯示在菜單中:
5、宏命令的使用
現在我們完成了一個宏命令的私人訂制。
此時我們可以在控制台端運行任何已打開的腳本文件。我們可以通過菜單命令Edit→Macros→Run in console來實現,也可以通過快捷鍵Alt+R來更為快捷的完成這個功能。我們嘗試一下:
在編輯器中打開另外一個腳本文件,按下Alt+R,OK,腳本被自動加載到了控制台中並運行:
幫助文檔
2、快速查看定義
當你只是想知道相關的聲明信息時,不妨使用Quick definition,而無需跳轉到實際的定義位置。
例如,將光標定位在一個表達式上,然后在主菜單中選擇View→Quick Definition:
你可以在彈出的窗口中看到相關的快速定義信息,然后通過方向鍵來移動瀏覽整個提示信息。
單擊按鈕,在Find tool window窗口中找到快速定義信息:
3、快速查看幫助文檔
快捷(幫助)文檔顯示了當前符號的文檔注釋以及相關注釋符。我們再次將光標定位在某個表達式上,這次我們使用View→Quick Documentation的菜單命令。
在彈出的窗口中我們同樣可以通過左右方向鍵來瀏覽這個文檔信息:
當然我們可以調整彈出窗口的大小。單擊彈出尺寸調節滾動條,拖動滑塊來改變當前尺寸:
單擊按鈕,在Documentation tool window窗口中打開快速幫助文檔:
單擊恢復到原來的窗口形式。
4、查看外部文檔
這個命令允許你通過默認瀏覽器查看詳細幫助文檔信息:
順便提一句,你可以通過quick documentation pop-up window來打開外部幫助文檔,可以單擊或者按下Shift+F1快捷鍵。
外部文檔用到的PyQt4,PySide,gtk,wx,numpy,scipy,和kivy等第三方庫都是默認版本的,如果你想查看其它版本下的幫助文檔,例如Pyramid,請到 Python External Documentation對應位置參考。
5、瀏覽參數信息
這個命令可以顯示函數方法的形參信息:
6、瀏覽環境上下文信息
最后,你可以通過彈出窗口來瀏覽代碼塊開始部分的特定的符號信息。舉個例子,我們將光標定位在一個exception上,而函數的聲明位於當前可視編輯范圍之外,然后按下Alt+Q或者View→Context Info菜單命令: