[Pycharm] Magic editor in Pycharm

From: http://blog.csdn.net/u013088062/article/details/50249751html

From: http://blog.csdn.net/u013088062/article/details/50250915python

From: http://blog.csdn.net/u013088062/article/details/50251413web

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/50260985app

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/50264865ide

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)主編輯區,用來編寫代碼。

  (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)右槽,處於編輯框的右側,顯示各類顏色的標誌來指示代碼狀態,是否存在錯誤、警告等等。一樣具備導航功能,方便咱們快速定位代碼出錯位置、轉到指定代碼行等等。

 

  四、配置編輯器

  Pycharm的編輯器配置十分靈活,在設置對話框中(Ctrl+Alt+S - IDE Settings - Editor)能夠對其外觀和行爲進行各類各樣的更改:

  

  在這裏你能夠找到關於鼠標、滾輪、代碼範圍、錯誤高亮顯示方案等相關的設置命令。

  雖然你能夠直接使用默認的編輯器設置,但若是你但願修改其中的部分設置的話,能夠參考editor optionshere或者單擊界面的help按鈕。

  舉個例子,你可能但願使用「ctrl+鼠標滾輪 來改變字體大小」這一功能,這個功能默認狀況下是關閉的,須要手動打開。再好比你可能已經習慣了"Autoreparse delay"功能,這些都須要手動進行設置。

  接下來咱們就會分解對編輯器的功能進行介紹。

 


選項卡管理

  一、主題

  咱們已經注意到Pycharm的主編輯框是基於窗口選項卡機制顯示的,Pycharm選項卡多種多樣,這裏咱們將詳細介紹這種選項卡機制。

  

  六、選項卡的拆分與合併

  什麼狀況下須要對選項卡進行拆分呢?

  • 假設咱們編寫的文件很是長,咱們但願同時顯示這個文件的不一樣部分,

  •  或者但願在一個窗口中同時查看多個文件,這種狀況下就須要對選項卡進行拆分。

  •  另一種狀況就是在建立選項卡組groupes of tabs的時候也會用到拆分技術。

 

  在選項卡標題區域的快捷菜單中有拆分命令:

  

  須要強調的是在系統定義的快捷鍵配置方案中(好比說默認的Windows快捷鍵方案)是沒有與拆分命令相關聯的快捷鍵的,咱們向其中自定義添加對應的快捷鍵設置。詳見Configuring keyboard schemesConfiguring keyboard shortcuts

  拆分後的窗口共享一個剪貼板,所以能夠很方便的在各個選項卡之間進行復制粘貼,固然也能夠將一個選項卡組的文件拖動到另外一個選項卡組中。

  

  也能夠在已拆分和未拆分的選項卡組中進行切換,使用主菜單命令Window → Editor Tabs → Goto Next Splitter/Goro Previous Splitter。

  Pycharm容許咱們更改拆分方向。例如咱們已經建立了一個垂直方向的拆分窗口,而且不想再看到水平拆分,只需選擇標題區域快捷菜單命令Change Splitter Orientation,或者主菜單命令Window → Editor Tabs。

  當咱們厭倦了拆分的窗口後,能夠經過擇標題區域快捷菜單命令Unsplit來取消拆分,或者是主菜單命令Window → Editor Tabs。固然這樣只會取消當前選項卡組的拆分,若是但願取消全部拆分,選擇Unsplit All命令便可。

 

  七、選項卡屬性配置

  咱們能夠在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

 


代碼摺疊 + 環繞註釋 

  四、默認代碼塊的摺疊規則

    默認狀況下摺疊先會標記類和函數的實現部分,摺疊也是針對這部分代碼塊進行的,即默認摺疊一個類、一個函數。

 

  五、摺疊任意代碼片

    假設,你但願摺疊幾句零散的程序,而這些語句並不屬於默承認摺疊的代碼塊(不是一個完整的類或函數),如何作到?

    首先選中你但願摺疊的代碼片

    

    而後進行如下操做(三選一便可):

    • 在主菜單選擇Code | Folding | Fold Selection/Remove Region菜單命令。
    • 右擊選中的代碼片,在快捷菜單中選擇Folding | Fold Selection/Remove Region
    • 按下Ctrl+Period快捷鍵

 

    此時選中的代碼片被摺疊隱藏。

    須要注意的就是所選代碼片應該位於類體或者函數體內,若是咱們選擇了類或函數開頭的定義部分,是沒法對這部分代碼進行摺疊隱藏的。

 

  六、使用雙行註釋來註釋代碼

  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

 

  四、建立一個根模板

  打開設置對話框(單擊工具欄的設置按鈕,或者按Ctrl+Alt+S快捷鍵),在IDE Settings設置下單擊Live Templates

  

  單擊綠色加號,等待奇蹟。

  首先,注意到在user下面出現了一個新的分組

  其次,選中user組後出現一個名爲<abbreviation>的根模板

  最後,界面上有縮寫、描述說明、模板內容等輸入窗口。

  

 

  五、指定模板的 縮寫 和 上下文環境

    (1) 第一步,輸入模板縮寫 template abbreviation,這裏定義爲class。

    (2) 而後輸入描述說明description(可選),指定模板應用的上下文環境(這裏選擇Python):

    

    (3) 最上方expansion值選擇默認的Tap便可。

 

  六、定義模板文本

  在模板文本欄中輸入如下代碼: 

  

  其中使用$標記包圍的部分爲模板變量template variables,Pycharm將其標記爲紅色方便咱們辨認:

  

  這些模板變量目前爲空,接下來咱們對其進行定義。

 

  四、編輯(模板文中的)模板變量

  點擊Edit variables按鈕:

  

  在Edit template variables對話框中顯示了當前的模板變量列表

  

  對於變量$object$,咱們給出其缺省值(object),單擊OK按鈕:

  

  上面列表中所顯示的變量並不包含 $END$,可見Pyhcarm不但願咱們對其進行更改。

  這是由於 $END$已經進行了預約義,所以是不可編輯狀態。它用來指示模板展開後輸入光標的默認位置,方便咱們對模板對應的代碼進行完善。咱們這裏這個光標會默認置於類聲明以後。

 

  五、保存自定義模板

  很是簡單,單擊設置窗口中的OK按鈕便可。

 

  六、使用自定義模板

  首先,建立一個Python文件,這裏命名爲myPythonFile:

  

  編輯這個新建的Python文件。接下來咱們在其中建立一個類聲明。輸入模板縮寫class,會發現咱們自定義的模板已經出如今提示列表中了,沒錯,就是咱們剛纔定義的那個:

  

  按下Tap鍵選擇該項。

  正如指望的那樣,縮寫名成功擴展成爲了一個基本的Python類。紅色下劃線標記了接下來指望輸入的位置,當你輸入類名時(對應模板變量class),就會插入到當前紅色波浪線所在位置:

  

  注意這裏的模板變量class已經應用兩次了:在類的聲明語句和構造函數中。在構造函數中Pycharm對其進行了自動填充(填充爲self)。

  輸入類名,回車,紅色波浪線移動到下一行,輸入對應內容,最後回車:

  

  最終,光標定位在類末尾。

  更多自定義模板信息參見Creating Code Constructs by Live Templates

 


宏操做

  一、爲何使用宏

  加入你須要重複某種操做不少次,例如選中源碼並將其發送到控制檯端調試,咱們能不能將着一系列重複的操做簡化爲一步,甚至用一組快捷鍵來代替呢?

 

  三、錄製宏

  在主菜單上選擇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菜單,咱們會在列表中發現咱們剛剛定義的宏命令。

  

  四、爲宏命令指定快捷鍵

  接下來咱們爲這條宏命令指定一個快捷鍵組合,作法以下。

  在設置對話框中,打開Keymap頁,展開Macros節點,找到咱們新添加的宏命令"Run in console",右擊,在彈出的快捷菜單中選擇Add keyboard shortcut:

  

  接下來,在Enter keyboard shoctrut dialog對話框中指按期望的快捷鍵組合。注意此時咱們只能經過鼠標指針來單擊對話框中的控件,任何鍵盤操做都會被認爲是快捷鍵的設置內容。

  

  如你所見,系統並未提示相關快捷鍵衝突,咱們的設置可用,單擊應用並關閉對話框。此時新增的快捷鍵會顯示在菜單中:

  

 

  五、宏命令的使用

  如今咱們完成了一個宏命令的私人訂製。

  此時咱們能夠在控制檯端運行任何已打開的腳本文件。咱們能夠經過菜單命令Edit→Macros→Run in console來實現,也能夠經過快捷鍵Alt+R來更爲快捷的完成這個功能。咱們嘗試一下:

  在編輯器中打開另一個腳本文件,按下Alt+R,OK,腳本被自動加載到了控制檯中並運行:

  

 


幫助文檔

  二、快速查看定義

  當你只是想知道相關的聲明信息時,不妨使用Quick definition,而無需跳轉到實際的定義位置

  例如,將光標定位在一個表達式上,而後在主菜單中選擇View→Quick Definition:

  

  你能夠在彈出的窗口中看到相關的快速定義信息,而後經過方向鍵來移動瀏覽整個提示信息。

  單擊按鈕,在Find tool window窗口中找到快速定義信息:

  

 

  三、快速查看幫助文檔

  快捷(幫助)文檔顯示了當前符號的文檔註釋以及相關注釋符。咱們再次將光標定位在某個表達式上,此次咱們使用View→Quick Documentation的菜單命令。

  

  在彈出的窗口中咱們一樣能夠經過左右方向鍵來瀏覽這個文檔信息:

  

  固然咱們能夠調整彈出窗口的大小。單擊彈出尺寸調節滾動條,拖動滑塊來改變當前尺寸:

  

  單擊按鈕,在Documentation tool window窗口中打開快速幫助文檔:

  

  單擊恢復到原來的窗口形式。

 

  四、查看外部文檔

  這個命令容許你經過默認瀏覽器查看詳細幫助文檔信息:

  

  順便提一句,你能夠經過quick documentation pop-up window來打開外部幫助文檔,能夠單擊或者按下Shift+F1快捷鍵。

  外部文檔用到的PyQt4,PySide,gtk,wx,numpy,scipy,和kivy等第三方庫都是默認版本的,若是你想查看其它版本下的幫助文檔,例如Pyramid,請到 Python External Documentation對應位置參考。

 

  五、瀏覽參數信息

  這個命令能夠顯示函數方法的形參信息:

  

 

  六、瀏覽環境上下文信息

  最後,你能夠經過彈出窗口來瀏覽代碼塊開始部分的特定的符號信息。舉個例子,咱們將光標定位在一個exception上,而函數的聲明位於當前可視編輯範圍以外,而後按下Alt+Q或者View→Context Info菜單命令:

  

相關文章
相關標籤/搜索