PyCharm 建立純Python專案

多纖果凍發表於2018-10-15

建立純Python專案

純Python 專案 適用於純Python程式設計。

建立一個空專案

  1. 執行以下操作之一:

    “新建專案”對話方塊開啟。

    • 在主選單上,選擇“ 檔案”| 新專案

    • 在“ 歡迎”螢幕上,單擊“ 建立新專案”

  2. 在“ 新建專案”對話方塊中,執行以下操作:
    • 在“ 專案型別”部分中,單擊“ 純Python” 。

    • 指定專案位置和直譯器。

  3. 接下來,單擊圖示操作下來以展開“ 專案直譯器”節點,然後通過單擊相應的單選按鈕選擇新環境或現有直譯器。以下步驟取決於您的選擇:
    • 使用新環境:如果已選擇此選項,請選擇用於建立虛擬環境的工具。為此,請單擊下拉選單並選擇 VirtualenvPipenvConda

      接下來,指定新虛擬環境的位置和基本直譯器。如有必要,請單擊“ 繼承全域性站點包”和“ 使所有專案可用”核取方塊。

    • 現有直譯器:如果選擇了此選項,請從下拉選單中選擇所需的直譯器,或者(如果找不到所需的直譯器),單擊browseButton並選擇直譯器。有關詳細資訊, 請參閱 配置Python直譯器

  4. 單擊“ 建立”按鈕。

    py建立專案

     

訪問專案結構

 

  1. 執行以下操作之一:
    • 在主選單上,選擇“ 檔案”| 設定(適用於Windows和* NIX)或 PyCharm | macOS的首選項。

    • 在主工具欄上,單擊圖示一般設定svg

    • 按Ctrl+Alt+S。

  2. 在“ 設定/首選項”對話方塊(Ctrl+Alt+S)中,單擊“ 專案結構” 頁面。

 

 

 

 

配置內容根

任何專案都至少包含一個 與專案一起建立的內容根

您可以建立其他內容根,也可以刪除不必要的內容。

建立內容根

  1. 開啟“專案結構”設定。

  2. 在“ 專案結構”頁面的“ 專案”窗格中,單擊要為其配置內容根的專案。

  3. 在“ 專案結構”頁面的“ 內容”根目錄中,單擊“ 新增內容根”按鈕。 圖示一般新增

  4. 開啟對話方塊中,找到所需的目錄,然後單擊“ 確定”。

    py addContentRoot

     

刪除內容根

指定資料夾類別

以下是將資料夾分配給其他類別的方法。以類似的方式,您可以將資料夾分配給任何其他類別。這可以在“專案”工具視窗和“設定/首選項”對話方塊的“ 專案結構”頁面上完成。

要在“專案”工具視窗中為資料夾指定類別,請按照下列步驟操作

  1. 開啟專案工具視窗(例如View | Tool Windows | Project)。

  2. 選擇要分配給特定類別的資料夾。

  3. 在上下文選單中,指向標記目錄為並選擇所需的類別。

    py標記目錄專案工具視窗

     

以類似的方式,您可以稍後更改資料夾類別。(只需從上下文選單中選擇一個不同的類別。)

要取消資料夾與其當前類別的關聯(即將資料夾設為“普通”資料夾 夾),請選擇取消標記為<current_category> Root。(例如,Unmark作為測試源根)。

要在“專案結構”頁面中為資料夾指定類別,請按照下列步驟操作

  1. “設定/首選項”對話方塊的“ 開啟專案結構”頁面

  2. 選擇要為其分配類別的資料夾。

  3. 例如,單擊類別按鈕root_Source.png

按名稱模式排除檔案和資料夾

您可以 通過指定名稱模式來排除檔案和資料夾 。使用“ 排除檔案”欄位指定模式。

按名稱模式排除

名稱與至少一個指定模式匹配的檔案和資料夾將被排除。資料夾及其所有內容均被排除在外。

在內容根中配置資料夾

概觀

內容根目錄中,PyCharm可以區分包含原始碼的資料夾,以及在搜尋,解析,觀看等時要忽略的資料夾。為此,您可以將內容根目錄下的任何資料夾標記為原始檔夾,或者排除因此它對PyCharm變得不可見。

標記目錄

您可以通過兩種不同的方式將資料夾分配給類別:

通過專案結構標記內容根目錄下的目錄

  1. 開啟“專案結構”設定。

  2. 在“ 專案結構”頁面的“ 專案”窗格中,單擊要為其配置內容根的專案。

  3. 在“ 專案結構”頁面的“ 內容”根窗格中,單擊所需的內容根。此內容根目錄下的目錄顯示為樹檢視。

  4. 選擇要標記的目錄,然後執行以下操作之一:
    • 單擊頂部的其中一個圖示,為此目錄指定所需的狀態。

    • 在目錄的上下文選單中選擇相應的狀態命令。

    • 按Alt+<first letter of the directory status>(例如, Alt+E對於排除的根,Alt+R資源或 Alt+S源根)。

    py markContentRoot

使用上下文選單標記目錄:

  1. 在“ 專案工具”視窗中右鍵單擊所需目錄。

  2. 在上下文選單上,指向標記目錄為節點。

  3. 選擇標記為<目錄狀態>。

py標記目錄專案工具視窗

取消標記目錄

要將資料夾恢復為常規狀態,請執行以下操作之一

  • 專案結構中
    • 在內容根目錄下的資料夾列表中選擇相關目錄,然後單擊 rootUnmark

      unmarkContentRoot

       

    • 再次單擊資料夾的狀態圖示。

    • 在目錄的上下文選單中選擇相應的命令。

  • 在“ 專案工具”視窗中,右鍵單擊所需目錄,指向“將 目錄另存為”節點,然後選擇“ 取消標記為<目錄狀態>”。

 

填充專案

通過建立各種型別的新元素(目錄,包和檔案)來填充專案。PyCharm建議使用以下替代方法來訪問相應的功能:

  • 檔案| 主選單上的新功能。

  • 在新的上下文選單命令。

  • 鍵盤快捷鍵Alt+Insert。

因此,將顯示“ 新建”選單,您可以在其中選擇要建立的元素的型別。

 

 

建立Python包

PyCharm可以遞迴地建立Python包,從而建立整個包結構。

Python包節點標有iconPackage圖示。

建立一個新的Python包

  1. 在“ 專案”工具視窗中,選擇目標目錄。

  2. 在選擇的上下文選單上,選擇“ 新建”| Python包,或按Alt+Insert以呼叫上下文選單:

    python CreatePackageMenu

     

  3. 在開啟的“ 新建包”對話方塊中,指定包名稱。
    您還可以指定巢狀包; 在這種情況下,名稱應該用點分隔:

    python CreatePackage


    單擊確定。PyCharm建立新的包或包結構:

    python CreatePackageResult

 

建立目錄

PyCharm使您能夠以遞迴方式建立目錄,從而生成整個目錄結構。

  1. 開啟專案工具視窗(例如View | Tool Windows | Project)。

  2. 選擇目標目錄。

  3. 執行以下操作之一:
    • 選擇檔案| 新的| 目錄。

    • 選擇新建| 上下文選單中的目錄。

    • 按,Alt+Insert然後選擇目錄。

    python CreateNewDirectories

  4. 在開啟的對話方塊中,指定目錄名稱。如果要建立多個巢狀目錄,請指定用斜槓分隔的目錄名稱。

    py createDirectory

 

從模板建立檔案

介紹

PyCharm為它支援的大多數 語言提供 檔案模板。這使您可以使用適合檔案目的的初始內容建立檔案。例如,有Python,HTML / HTML5 / XHTML和JavaScript檔案的檔案模板。

通常,基於模板的檔案的副檔名會自動設定,因此您無需指定它。例如,如果您建立Python指令碼,它會自動獲得 .py擴充套件,JavaScript檔案會獲得 .js擴充套件。新的HTML檔案獲得 .html擴充套件。

從模板建立新檔案

  1. 執行以下操作之一:
    • 在“ 專案工具”視窗中,選擇要在其中建立新檔案的目錄或包,然後選擇“ 檔案”| 主選單上的新功能。

    • 右鍵單擊相應的目錄或包,然後從上下文選單中選擇“ 新建 ”。

    • 按Alt+Insert。

  2. 選擇所需的檔案型別。通常,除檔案,包 和目錄之外的所有選項都對應於使用檔案模板。

    py選單新

    如果這是一個自定義模板,其副檔名(模板副檔名)與任何已識別檔案型別的已註冊模式不匹配,則列表中可能缺少現有檔案模板。在這種情況下,您可能希望為現有的已識別檔案型別註冊相應的模式,或者新增新的檔案型別併為此新型別註冊相應的模式。有關更多資訊,請參閱建立和註冊檔案型別

  3. 在開啟的對話方塊中,在相應欄位中鍵入檔案的名稱。請注意,您不應鍵入副檔名。

    您可以在新檔名之前指定整個目錄結構。如果巢狀目錄尚不存在,則將建立它們:

    基於新模板的檔案

    如果需要,請指定新模板檔案的型別,副檔名和其他引數。例如,如果選擇建立HTML檔案,則可以建立HTML,HTML4或XHTML檔案。換句話說,使用相應的相關檔案模板之一。

    根據需要指定其他資訊。例如,如果相應的檔案模板包含此類變數且當前未設定其值,則可能會要求您定義自定義變數的值。

  4. 單擊確定。將在目標位置下建立與所選檔案模板對應的新檔案。

    如果在新檔名之前指定了不存在的子目錄的名稱,則將在目標目錄下建立整個結構:

    帶有subdir的新檔案

    有時,您可能希望更改自動生成的副檔名。為此,請使用 重新命名重構 (重構|重新命名)。

建立空檔案

通常,在開發應用程式時建立的所有檔案都是基於模板的。但是,有時您可能想要建立空檔案。

建立一個空檔案

  1. 執行以下操作之一:
    • 在“ 專案工具”視窗中,選擇要在其中建立新檔案的目錄或包,然後選擇“ 檔案”| 主選單上的新功能。

    • 右鍵單擊相應的目錄或包,然後從上下文選單中選擇“ 新建 ”。

    • 按Alt+Insert。

  2. 在“ 新建檔案”對話方塊的“ 輸入新檔名”下的欄位中,鍵入檔名和副檔名。

    您可以在新檔名之前指定整個目錄結構。如果巢狀目錄尚不存在,則將建立它們:

    新檔案

  3. 如果您指定的副檔名與PyCharm識別的任何檔案型別都沒有關聯,則會顯示“ 註冊新檔案型別關聯”對話方塊。

    cl暫存器檔案型別

    在此對話方塊中,您可以將副檔名與其中一種可識別的檔案型別相關聯。為此,請在PyCharm中的“開啟匹配檔案”下選擇檔案型別,然後單擊“ 確定”。因此,副檔名與指定的檔案型別相關聯。

     

  4. 單擊確定。

    如果在新檔名之前指定了不存在的子目錄的名稱,則將在目標目錄下建立整個結構:

    帶有subdir的新檔案

生成程式碼

PyCharm提供了多種方法來生成公共程式碼構造和重複元素,這有助於提高生產力。這些可以是預定義模板,也可以是自定義模板,它們根據上下文,各種包裝器和字元自動配對而不同地應用。此外,PyCharm還提供程式碼完成Emmet支援。

從用法建立符號

假設您引用的是尚未建立的類或方法。使用PyCharm,您可以藉助專門的意圖操作輕鬆地刪除缺失的符號 。

要根據使用情況建立符號,請按照以下常規步驟操作

  1. 輸入引用不存在的符號的名稱。PyCharm強調了參考。

  2. 按Alt+Enter,然後從建議列表中選擇相應的選項,例如Create class <class name>,或 Add method <method name> to class <class name>。

python createFromUsage

通過實時模板生成原始碼 

介紹

本頁介紹如何使用實時模板生成原始碼 。

使用實時模板,您可以建立Django模板,JavaScript迭代,Zen編碼,HTML和XML標記等程式碼構造。

要瀏覽可用的實時模板列表,請在“ 設定/首選項”對話方塊(Ctrl+Alt+S)中開啟“ 實時模板”頁面。

插入實時模板

  1. 將插入符號放在需要新增新構造的所需位置。

  2. 執行以下操作之一:
    • 在主選單上,選擇Code | 插入實時模板。

    • 按Ctrl+J。

    • 鍵入模板縮寫的一些首字母, 以獲得建議列表中的匹配縮寫。請注意,建議列表可能包含不同模板的相同縮寫。

  3. 建議列表中,選擇所需的模板。顯示建議列表時,可以通過按下檢視插入符號中的專案的快速文件Ctrl+Q。

    py qdoc實時模板

     

  4. 按模板呼叫鍵(這可能是Space,Tab或者 Enter,取決於模板定義)。新的程式碼構造插入指定的位置。

  5. 如果所選模板已 引數化並需要使用者輸入,編輯器將進入 模板編輯模式並顯示用紅框突出顯示的第一個輸入欄位。在此框架中鍵入您的值,然後按Enter 或Tab完成輸入並傳遞到下一個輸入欄位。完成最後一個輸入欄位後,插入符號移動到結構的末尾,編輯器返回常規操作模式。

也可以鍵入模板縮寫,然後按Ctrl+J。

使用環繞模板包裝程式碼片段

本節介紹如何根據環繞模板包裝程式碼片段 。

用實時模板包圍程式碼塊

  1. 在編輯器中,選擇要包圍的程式碼段。

  2. 執行以下操作之一:
    • 在主選單上,選擇Code | 環繞使用Live模板...。

    • 按Ctrl+Alt+J。

  3. 從建議列表中選擇所需的模板。

實現介面或抽象類的方法

如果一個類宣告為實現某個抽象類,則必須實現此類的方法。PyCharm為已實現的方法建立存根。

可以實現包含的抽象類和方法的方法raise NotImplementedError

要實現所需的方法:

  1. 在“ 程式碼”選單上,單擊“ 實現方法”(Ctrl+I)。或者,您可以右鍵單擊類檔案中的任意位置,然後單擊Generate(Alt+Insert),並選擇Implement methods。

  2. 選擇要實施的方法。如有必要,請選中“ 複製JavaDoc”核取方塊以插入已實現的介面或抽象類的JavaDoc註釋。

  3. 單擊確定。

覆蓋超類的方法

您可以通過從預定義模板生成必要的程式碼來覆蓋父類的任何方法。PyCharm建立一個包含對超類方法的呼叫的存根,讓開發人員在該方法的主體中提供一些有意義的原始碼。

要覆蓋超類的方法:

  1. 在程式碼選單上,單擊覆蓋方法(Ctrl+O)。或者,您可以右鍵單擊類檔案中的任意位置,然後單擊“ 生成(Alt+Insert)”,並選擇“ 替代方法”。

  2. 選擇要覆蓋的方法。方法列表不包括已被覆蓋的方法,或者無法從當前子類訪問的方法。

    如有必要,請選中“ 複製JavaDoc”核取方塊以插入已實現的介面或抽象類的JavaDoc註釋。

    py overrideMethod

  3. 單擊“ 確定”並提供方法主體的原始碼。

    使用gutterIconOverriding標記左側裝訂線中重寫方法的圖示來檢視基類的名稱,並開啟重寫的方法宣告

    py overrideMethod1

使用特定於語言的構造環繞程式碼片段

PyCharm根據原始碼的語言為周圍的程式碼片段提供各種構造的標準模板。這包括if...else條件語句,do...while以及for迴圈,組合try...catch...finally,摺疊的區域,XML標籤,等等。

圍繞一段程式碼:

  1. 選擇所需的程式碼片段。

  2. 在程式碼選單上,單擊環繞(Ctrl+Alt+T)。

  3. 從列表中選擇所需的環繞宣告。

此功能適用於以下語言(上下文):

上下文

環繞著

XML / HTML / XHTML標記

  • 標籤

  • CDATA部分

  • <%...%>

  • 螞蟻

 

wrapTags.png

 

Python語句

  • if
  • while
  • try/except
  • try/finally

python_wrapStatement.png

Django模板

  • {% if %}
  • {% for %}
  • {% with %}
  • {% block %}
  • 禪編碼

python surroundInTemplate

JavaScript語句

  • (expr)
  • !(expr)
  • if
  • if / else
  • while
  • do / while
  • for
  • try / catch
  • try / finally
  • try / catch / finally
  • with
  • function
  • { }
  • function expression

使用if ... else構造圍繞JavaScript程式碼片段

自定義摺疊區域註釋

任何程式碼片段,其中Surround With適用

 

customFolding1

 

展開和刪除語句

PyCharm允許您快速從封閉語句中解包或提取表示式。此操作適用於:

開啟或刪除語句

  1. 將插入符號放在要提取或解包的表示式上。

  2. 選擇程式碼| 在主選單上開啟/刪除或按 Ctrl+Shift+Delete。PyCharm顯示一個彈出視窗,其中包含當前上下文中可用的所有操作。要提取的語句顯示在藍色背景上,要刪除的語句顯示在灰色背景上。

    py解包宣告

     

  3. 單擊所需操作或使用向上和向下箭頭鍵選擇它,然後按 Enter。

包裝標籤。應用環繞聲動態模板的示例

作為應用環繞模板的示例,讓我們用標籤包裝一段XML程式碼。

包圍程式碼片段

  1. 開啟 所需的檔案進行編輯。

  2. 選擇一個程式碼片段。

    surroundXML1

     

  3. 按呼叫快捷方式 Ctrl+Alt+J。PyCharm建議使用以下環繞模板:

    surroundXML2

     

  4. 從建議列表中選擇標記模板。程式碼片段被空標記包圍:

    surroundXML3

     

  5. 插入符號位於開頭的內容中。在開始標記中鍵入標記名稱時,名稱將在結束標記中自動複製:

    surroundXML4

程式碼完成

本節介紹了各種上下文感知程式碼完成技術,可以加快編碼過程。

基本完成:名稱和關鍵字

基本程式碼完成可幫助您完成可見範圍內的類,方法和關鍵字的名稱。當您呼叫程式碼完成時,PyCharm會分析上下文並建議可從當前插入符號位置訪問的選項(建議還包括實時模板)。

程式碼完成可用於自定義檔案型別。但是,PyCharm不識別此類檔案的結構,並建議選項,無論它們是否適合當前上下文。

如果將基本程式碼完成應用於引數或變數宣告的一部分,PyCharm會根據項型別建議可能的名稱列表。

第二次呼叫基本程式碼完成顯示類,函式,模組和變數的名稱。

呼叫基本完成

  1. 開始輸入名稱。

  2. 按Ctrl+Space或選擇程式碼| 完成| 主選單中的基本選單。

    下圖顯示了以下情況的基本程式碼完成情況:

    • 方法:

      python CompletingMethod

       

    • 字典:

      python CompletingDicts

       

    • Django模板:

      python CompletingFilter

       

  3. 如果必要,請按Ctrl+Space第二次(或按Ctrl+Alt+Space)。

    這顯示了類,函式,模組和變數的名稱。

    python類名完成

基於型別的智慧完成

智慧程式碼完成過濾建議列表,僅顯示適用於當前上下文的型別。

呼叫智慧完成

  1. 開始輸入。

  2. 按Ctrl+Shift+Space或選擇程式碼| 完成| 主選單中的SmartType。

    強調了當前背景下最合適的建議。

    py智慧型完成

  3. 如有必要,請再按Ctrl+Shift+Space一次。

嬉皮完成:根據上下文擴充套件單詞

嬉皮完成是一個完成引擎,可以在可見範圍內分析您的文字,並從當前上下文中生成建議。它可以幫助您完成任何當前開啟的檔案中的任何單詞。

將插入符號處的字串展開為現有單詞

  1. 鍵入初始字串並執行以下操作之一:
    • 按Alt+/或選擇程式碼| 完成| 迴圈展開Word以在插入符號之前搜尋匹配的單詞。

    • 按Shift+Alt+/或選擇程式碼| 完成| 迴圈展開Word(向後) 以在插入符號和其他開啟檔案之後搜尋匹配的單詞。

    出現第一個建議值,原型在原始碼中突出顯示。

    擴大詞

  2. 接受建議,或按住Alt鍵並一直按下,/直到找到所需的單詞。

    py嬉皮完成

     

Postfix程式碼完成

Postfix程式碼完成可幫助您在編寫程式碼時減少向後插入符號跳轉。它允許您根據在點,表示式型別及其上下文之後鍵入的字尾將已鍵入的表示式轉換為另一個表示式。

使用字尾轉換語句

  • 鍵入表示式,然後在點後鍵入字尾,例如.if

    function m(arg) { arg.if }

    初始表示式包含一個if語句:

    function m(arg) { if (arg) { } }

要禁用某些字尾完成模板,請在“ 設定/首選項”對話方塊(Ctrl+Alt+S)中選擇“ 編輯器”| 一般| 字尾完成。您也可以選擇你要使用擴充套件字尾模板,鍵: Tab,Space,或Enter。

您可以編輯預定義的字尾模板,例如,用較短的鍵替換長鍵,或者展開它適用的表示式型別列表。

配置程式碼完成設定

配置完成選項

  1. 在“ 設定/首選項”對話方塊(Ctrl+Alt+S)中,選擇“ 編輯器”| 一般| 程式碼完成。

  2. 請執行下列操作:
    • 自動顯示建議列表,請選中“ 鍵入時顯示建議”核取方塊。如果清除該核取方塊,則必須通過按下Ctrl+Space基本完成或 Ctrl+Shift+Space智慧完成來顯式呼叫程式碼完成。

      您還可以選擇在只有一個選項時自動插入建議:在自動插入單個建議下選擇完成型別。

    • 排序的字母順序的建議,而不是按相關性排序它們,選擇排序建議按字母順序 核取方塊。

      您還可以通過單擊一個圖示pi圖示分別位於建議列表的右下角來切換這些模式。

    • 如果您在建議完成選項時需要考慮案例,請選擇匹配案例 並選擇是僅匹配首字母大小寫還是匹配所有字母大小寫。

    • 如果你想在文件彈出式視窗中,你把它的滾動的建議列表中每個專案自動顯示,選擇在顯示文件彈出選項。在右側的欄位中,指定延遲(以毫秒為單位),之後應顯示彈出視窗。

排序圖示僅在列表很長時出現,並且不顯示僅包含少量條目的列表。

完成提示和技巧

縮小建議清單

您可以通過鍵入單詞的任何部分(甚至是中間某處的字元)或在點分隔符後呼叫程式碼完成來縮小建議列表的範圍。PyCharm將顯示​​包含您在任何位置輸入的字元的建議。

這使得不必使用萬用字元:

python asteriskLookupList

如果是CamelCasesnake_case名稱,請僅鍵入首字母。PyCharm自動識別並匹配首字母。

接受建議

您可以通過以下方式之一接受列表中的建議:

  • 按Enter或雙擊列表項將其插入插入符號的左側。

  • 按下Tab以從插入符號右側替換字元。

  • 使用Ctrl+Shift+Enter使當前程式碼構造語法正確(平衡括弧,加括號缺失和分號等)

您還可以使用特定鍵插入所選的完成建議:在Settings / Preferences對話方塊中(Ctrl+Alt+S)選擇Editor | 一般| 程式碼完成並通過按空格,點或其他上下文相關鍵選項選擇 插入所選建議。這些鍵取決於語言,您的上下文等。

雖然此設定可幫助您節省時間,但將其開啟可能會導致專案意外插入。

檢視參考

  • 您可以使用快速定義檢視 按Ctrl+Shift+I 在您選擇的建議列表中的條目:

    快速定義

     

  • 您可以使用快速資訊檢視 按Ctrl+Q 在您選擇的建議列表中的條目:

    快速文件

     

檢視程式碼層次結構

從建議列表中選擇條目後,您可以檢視程式碼層次結構:

  • Ctrl+H:檢視型別層次結構

  • Ctrl+Shift+H:檢視方法層次結構。

故障排除

如果程式碼完成不起作用,可能是由於以下原因之一:

  • 在省電模式是(檔案|省電模式)。開啟它可以通過消除後臺操作(包括錯誤突出顯示,動態檢查和程式碼完成)來最大限度地降低膝上型電腦的功耗。

  • 您的檔案不駐留在內容根目錄中,因此它不會獲得程式碼完成所需的必需類定義和資源。

  • 包含要在完成建議列表中顯示的類和函式的檔案將標記為純文字檔案。

  • 包含要在完成建議列表中顯示的函式的外部庫不會新增為依賴項或全域性庫。

檢視原始碼的結構和層次結構

此功能在PyCharm 的教育版中不可用。

PyCharm使您可以在“層次結構”工具視窗中檢查類,方法和呼叫的層次結構,並在“結構”工具視窗中瀏覽原始檔的結構。

  • “ 檢視”選單中提供了“ 層次結構”和“ 結構”工具視窗。

  • 只有在構建層次結構時,“ 層次結構”工具視窗才可用。

  • 層次結構在“ 導航”選單中構建。

 

檢視層次結構

此功能在PyCharm 的教育版中不可用。

PyCharm使您可以在“層次結構”工具視窗中檢查類,方法和呼叫的層次結構,並在“結構”工具視窗中瀏覽原始檔的結構。,層次可被帶在仔細檢查層次工具視窗

顯示“層次結構”工具視窗

當沒有要顯示的層次結構時,不顯示層次結構工具視窗。您必須首先構建層次結構。

請參閱Building Class Hierarchy 以瞭解如何構建層次結構。

要開啟“層次結構”工具視窗,請執行以下操作之一

  • 在主選單上,選擇“ 檢視”| 工具視窗| 層次結構。

  • 使用Alt+8鍵盤快捷方式

 

執行以下操作之一:

  • 右鍵單擊當前顯示的選項卡,然後在上下文選單中選擇“ 選擇下一個選項卡 / 選擇上一個選項卡 ”。

  • 使用Alt+Right和Alt+Left鍵盤快捷鍵。

  • 單擊當前顯示的選項卡,然後選擇要顯示的下一個選項卡。

    py顯示層次結構

     

 

在檢視之間切換

在檢視之間切換意味著顯示升序或降序層次結構(被呼叫者與呼叫者方法,父類與子類等)。要在檢視之間切換,請使用“層次結構”工具視窗的工具欄:

  • 單擊hierarchyClassSupertypes以顯示呼叫方法或超型別。

  • 單擊hierarchyClassSubtypes以顯示被呼叫方法或子型別。

檢視原始檔的結構

此功能在PyCharm 的教育版中不可用。

基本

您可以使用“ 結構”工具視窗或“ 結構”彈出視窗檢查當前在編輯器中開啟的檔案 的結構。

預設情況下,PyCharm顯示當前檔案中顯示的所有類,方法等。

顯示其他成員,請單擊“ 結構”工具視窗工具欄上的相應按鈕。

您還可以在“ 專案”工具視窗中顯示類成員。

檢視檔案的結構

要檢視檔案結構,請執行以下操作之一

python結構彈出視窗

檢視成員

要顯示類欄位

  • 單擊圖示節點欄位svg“結構”工具視窗的工具欄上。

顯示繼承的成員

  • 單擊顯示繼承“結構”工具視窗的工具欄上。

預設情況下,PyCharm僅顯示當前類中定義的方法,常量和欄位。如果顯示,繼承的成員將顯示為灰色。

要在“專案”工具視窗中顯示類成員

  • 在專案 工具視窗標題欄的上下文選單上 開啟“ 顯示成員”項。如果啟用此選項,則樹中包含類的檔案將變為節點。展開此類節點時,將顯示包含的類及其欄位,方法和所選專案的其他成員。

構建類層次結構

此功能在PyCharm 的教育版中不可用。

您可以在“ 層次結構”工具視窗中瀏覽所選類的父類和子類的 層次結構

請注意,只有在構建類層次結構時,“層次結構”工具視窗才可用,如下所述。

構建類的層次結構

  1. 在編輯器中開啟帶有所需類的檔案,並將插入符放在類的任何位置或類名上。

  2. 在主選單上,選擇“ 導航”| 鍵入層次結構或按Ctrl+H。

py型別層次結構

 

分析重複

此功能僅在專業版中受支援。此版本是商業版,它提供了一套出色的工具和功能:有關詳細資訊,請參閱比較矩陣

概觀

PyCharm可幫助您在特定範圍內查詢重複的程式碼塊。此範圍可以是單個檔案,專案,模組或自定義範圍。分析結果顯示在“ 重複項”工具視窗的專用選項卡中。

搜尋重複項

搜尋重複項

  1. 在主選單上,選擇Code | 找到重複項。

  2. 在“ 指定程式碼複製分析範圍”對話方塊中,指定分析範圍(整個專案,當前檔案,未提交的檔案(對於版本控制下的專案)或某些自定義範圍)。此外,您還可以將測試源包含在分析中。

    準備好後,單擊“ 確定”。

  3. 在“ 程式碼複製分析設定”對話方塊中,執行以下操作:
    1. 選擇語言以執行分析。

    2. 對於每種語言,請檢查選項以定義分析的首選項。

      例如,您可以選擇請求相同匹配的程式碼片段被視為重複,或指定某個限制,低於該限制,程式碼構造不會被視為重複(以避免報告if原始碼中的每個構造)。

    單擊確定。
  4. 在“ 重複項”工具視窗中,瀏覽搜尋結果。

    IMG

    • 在工具視窗的左窗格中檢視重複項列表。

    • 檢視右窗格中找到的重複項之間的差異。使用箭頭按鈕將選定的副本放在差異檢視器的其中一個部分中,並比較程式碼的片段。

    • 使用重複上下文選單的“ 跳轉到源”或“ 顯示源”命令導航到編輯器中的重複項。

分析外部堆疊跟蹤

概觀

您可能希望分析其他人(例如,QA工程師)收到的異常,或者調查死鎖或掛起問題。與除錯模式或執行單元測試時遇到的異常不同,這些異常沒有幫助您導航到原始碼中相應位置的連結。

使用PyCharm,您只需複製異常或完整的執行緒轉儲,將其貼上到Stacktrace Analyzer,瀏覽資訊並導航到相應的原始碼。

分析外部堆疊跟蹤

分析外部堆疊跟蹤或執行緒轉儲

  1. 在主選單上,選擇。 工具| 分析Stacktrace。

  2. 在開啟的Analyze Stacktrace對話方塊中,將外部堆疊跟蹤或執行緒轉儲貼上到 Put a thread dump here: text區域。

  3. 單擊確定。堆疊跟蹤顯示在“ 執行”工具視窗中。

程式碼檢查

程式碼分析基礎知識

PyCharm具有強大,快速和靈活的靜態程式碼分析功能。它檢測語言和執行時錯誤,建議更正和改進。

PyCharm通過對程式碼應用檢查來執行程式碼分析。Python和其他支援的語言存在大量程式碼檢查。

檢查不僅檢測編譯錯誤,還檢測不同的程式碼低效率。每當你有一些無法訪問的程式碼,未使用的程式碼,非本地化的字串,未解決的方法,記憶體洩漏甚至拼寫問題時 - 你會很快找到它。

PyCharm的程式碼分析可靈活配置。您可以 啟用/禁用每個程式碼檢查並 更改其嚴重性,使用自定義檢查集建立 配置檔案在不同範圍內應用不同的檢查 , 抑制特定程式碼段中的檢查等。

分析可以通過以下幾種方式進行:

  • 預設情況下,PyCharm會分析所有開啟的檔案,並在編輯器中突出顯示所有檢測到的程式碼問題。在編輯器的右側,您可以看到整個檔案的分析狀態(右上角的圖示)。

    檢測到錯誤時,此圖示為icons general balloonError svg; 如果發出警告,則是警告; 如果一切正確,圖示就是好

  • 或者,您可以 在指定範圍的批量模式下執行程式碼分析, 該範圍可以與整個專案一樣大。

  • 如有必要,您可以 在特定範圍內應用單個程式碼檢查

對於大多數檢測到的程式碼問題,PyCharm提供 快速修復建議。您可以通過按下從一個突出顯示的行導航到另一個突出顯示的行來快速檢視檔案中的錯誤 F2Shift+F2。

有關更多資訊和過程描述,請參閱配置檢查嚴重性

檢查概況

當您檢查程式碼時,您可以告訴PyCharm您想要搜尋哪些型別的問題並獲取報告。這種配置可以保留為 檢查配置檔案。

檢查配置檔案定義了要尋找的問題型別,即啟用/禁用哪些程式碼檢查 以及 這些檢查的嚴重性。配置檔案可在“ 檢查設定”頁面中進行配置。

要設定當前檢查配置檔案(用於在編輯器中進行動態程式碼分析的配置檔案),只需在“ 檢查設定”頁面中選擇它並應用更改。當你執行程式碼分析或 執行一個檢查,你可以指定要使用每次執行的配置檔案。

檢查配置檔案可適用於整個IDE或特定專案:

  • 通過VCS為團隊成員共享和訪問專案配置檔案。它們儲存在專案目錄中: <project>/.idea/inspectionProfiles

  • IDE配置檔案 僅供個人使用,並儲存在本地目錄下的XML檔案中 USER_HOME/.<PyCharm version>/config/inspection 。

PyCharm帶有以下預定義的檢查配置檔案:

  • 預設值:此本地(IDE級別)配置檔案供個人使用,適用於所有專案,並本地儲存在Default.xml目錄下的 USER_HOME/.<PyCharm version>/config/inspection檔案中。

  • 專案預設值:建立新專案時, 將從模板專案的設定中複製專案預設配置檔案 。此配置檔案是共享的,適用於當前專案。建立專案後,對專案預設配置檔案的任何修改都將被忽略不計地傳遞給任何其他專案。 在“ 模板專案”設定中修改 “ 專案預設”配置檔案的 設定時

    ,更改的配置檔案將應用於所有新建立的專案,但現有專案不會受到影響,因為他們已經擁有此配置檔案的副本。 
    專案預設配置檔案儲存在目錄中的Project_Default.xml檔案中 <project>/.idea/inspectionProfiles

可以根據需要擁有儘可能多的檢查配置檔案。有兩種建立新配置檔案的方法:您可以新增新配置檔案作為專案預設配置檔案的副本或 複製當前選定的配置檔案。新建立的配置檔案儲存在XML檔案中,具體取決於基本配置檔案型別

<profile_name>.xml代表檢查輪廓檔案顯示,每當一些修改配置檔案完成和應用。這些檔案僅儲存與預設配置檔案的差異。

有關詳細資訊,請參閱自定義配置檔案一節。

在計算機之間同步配置檔案

如果檢查配置檔案是特定於專案的,則會自動與專案同步。在簽出後開啟該專案的每個使用者都將啟用相同的檢查配置檔案。

如果使用IDE預設檢查配置檔案,則可以通過與PyCharm捆綁在一起的Settings Repository外掛在多臺計算機之間進行同步 。這樣做,檔案儲存在 USER_HOME/.<PyCharm version>/config/inspection/<profile_name>.xml

請注意,全域性配置檔案可能具有不同的名稱。將當前專案配置檔案複製到全域性級別(單擊“ 管理 ”按鈕並選擇“ 複製為全域性”)並根據需要呼叫它。

然後,在主選單上,選擇“ 檔案”| 新專案的設定,並選擇此全域性配置檔案作為所有新專案的預設配置檔案。現在,預設情況下,所有新建立的專案都將使用此全域性配置檔案,並且此全域性配置檔案將通過Settings Repository外掛在各種計算機之間同步。

檢查嚴重程度

檢查嚴重性表示檢查檢測到的程式碼問題對專案的影響程度,並確定如何在編輯器中突出顯示檢測到的問題。預設情況下,每次檢查都具有以下嚴重性級別之一:

  • 伺服器問題 伺服器問題

  • 錯字 錯字

  • 沒有突出顯示,只有修復 資訊

  • 弱警告 弱警告

  • 警告 警告

  • 錯誤 錯誤

您可以增加或減少每次檢查的嚴重性級別。也就是說,您可以強制PyCharm顯示一些警告,如錯誤或弱警告。以類似的方式,最初被視為弱警告的內容可以顯示為警告或錯誤,或者僅顯示為資訊。

您還可以配置用於突出顯示每個嚴重性級別的顏色和字型樣式。此外,您可以建立自定義嚴重性級別並將其設定為特定檢查。

如有必要,您可以為不同範圍內的相同檢查設定不同的嚴重性級別 。

上述檢查的所有修改都儲存在檢查設定中 當前選擇的 檢查配置檔案中, 並在使用此配置檔案時應用。

檢查範圍

預設情況下,所有啟用的程式碼檢查都適用於所有專案檔案。如有必要,您可以針對不同的範圍單獨配置每個程式碼檢查(啟用/禁用, 更改其嚴重性級別和選項) 。與任何其他檢查設定一樣,此類配置將作為特定配置檔案的一部分進行儲存和應用 。

當檢查具有與不同範圍相關聯的不同配置時,可能存在複雜的情況。當在屬於某些或所有這些範圍的檔案中執行此類檢查時,將應用優先順序最高的範圍特定配置的設定。優先順序由檢查設定檢查範圍特定配置的相對位置定義 :最高配置具有最高優先順序。在其他任何地方的配置總是具有最低的優先順序。

有關更多資訊和過程描述,請參閱配置不同範圍的檢查

程式碼檢查的示例

在“ 檢查”頁面中,所有檢查都按類別分組。程式碼分析涵蓋的最常見任務是:

  • 找到死程式碼。

  • 檢測效能問題。

  • 改善程式碼結構和可維護性。

  • 符合編碼指南和標準。

  • 符合規格。

找到死程式碼

PyCharm在編輯器中突出了所謂的程式碼。這是在應用程式執行時期間從未執行的程式碼。也許,您甚至不需要在專案中使用這部分程式碼。根據情況,此類程式碼可能被視為錯誤或冗餘。無論如何,它會降低應用程式效能並使維護過程複雜化。這是一個例子。

py死碼

 

突出顯示未使用的宣告

PyCharm還能夠通過未使用的宣告檢查立即突出顯示未使用的區域性變數。預設情況下,PyCharm會忽略以下內容突出顯示所有未使用的區域性變數:

  • 元組拆包中使用的變數

  • Lambda引數

  • 範圍迭代變數

如果您希望收到任何這些型別的通知,請開啟編輯器| 在專案設定/首選項中檢查,在Python 節點下選擇未使用的本地,並取消選擇選項中的相應核取方塊。以下示例說明了元組解包中未使用變數的程式碼檢查警告。

py未使用的本地元組解包

未解決的參考文獻

此檢查可以檢測未解析的參考,並使用紅色曲線突出顯示它們。PyCharm意圖操作建議快速修復原始碼中未解析的引用。有關更多詳細資訊,請參閱解析引用

Python檢查示例

在“設定”對話方塊的“ 檢查”頁面中查詢各種程式碼檢查的說明和示例 。在本節中,我們將考慮幾個最突出的例子。特別是,PyCharm報導

  • 程式碼與當前的Python直譯器版本不相容:

    py版本相容性

    請注意,您可以在檢查設定中更改版本範圍。

  • 未解決的參考文獻:

    py未解決

     

  • 字典中的重複鍵:

    py重複鍵

     

  • 死程式碼:

    py死碼

     

  • 未使用的變數:

    rm未使用的區域性變數

    cl未使用

解決問題

介紹

預設情況下,PyCharm會分析所有開啟檔案中的程式碼,並突出顯示檢測到的程式碼問題。您可以通過應用快速修復程式立即解決大多數問題。

如果您在更大範圍的原始檔中執行程式碼分析或 執行單個檢查,PyCharm會在檢查結果工具視窗中顯示檢測到的程式碼問題。在此視窗中選擇特定問題時,其報告將顯示在視窗的右側。

如果有問題的可用修復程式,PyCharm會通過以下方式通知它:

  • “ 檢查結果”工具視窗的工具欄上將顯示“ 應用快速修復” 圖示動作intentBulb按鈕。

  • 可用的修復程式顯示在報告的可選問題解決方案欄位中。

  • 可用的修復程式顯示在問題的上下文選單中。

如果沒有可用的修復程式,則唯一的選擇是手動修復問題。

請注意以下事項:

  • 要在編輯器中顯示問題的原始碼,在“ 檢查結果”工具視窗中選擇它時 ,請將“ 自動滾動” 切換為“源”icons general autoscrollToSource按鈕。

  • 如果你發現一些報告的問題是次要的或不利於你,你可以通過忽略它們禁用相應的檢查或 抑制它在特定的一段程式碼。

解決問題

修復程式碼檢查報告的問題

在“ 檢查結果工具”視窗中,選擇您感興趣的程式碼問題,然後執行以下操作之一:

  • 如果PyCharm建議如上所述對問題進行任何修復,您可以使用其中一個立即解決問題。

    py resolveProblems

     

  • 如果未建議解決方案,請使用上下文選單中的“ 跳轉到源”命令並手動修復問題。

 

 

 

 

 

 

 

 

相關文章