iT邦幫忙

2022 iThome 鐵人賽

DAY 4
0
自我挑戰組

30天深入了解Pycharm系列 第 4

Day 04. Project Structure

  • 分享至 

  • xImage
  •  

更多相關連結: https://linktr.ee/wade3c


Pycharm是一個以專案為導向的IDE,預設有提供一個管理專案的簡易介面

image.png

Open Folder as Project

基本上絕大多數的情況都會先自己好資料夾後才用Pycharm開啟,如果這個資料夾內原本沒有內容的話,這時候Pycharm就會幫你在空的資料夾中給產生預設的main.py,並幫main.py給設定好run的config

image.png

Create Project

如果不想要自己先創空的資料夾來開始一個新專案的話也能用Pycharm內建的create project,目前支援以下類型的專案創建 (部分專案類型是只有professional才有)

image.png

像是flask這種在Pycahrm要設定debug config比較麻煩的,我就會推薦使用create project來讓Pycharm自動幫你做些基礎設定

image.png

Project Setting

由於pycharm會自動對整個專案去index以便提供許多方便的功能,我們可以透過排除不需要被index的檔案來加速indexing的過程以及縮小index檔案占用disk的區塊

image.png

如上圖所示資料夾大概分為四種類型,分別是Source roots, Excluded roots, Test sources roots以及Namespace package,他們分別的用途如下:

  • Source roots指的就是專案的起始點,也就是run config中預設的working dir
  • Excluded roots就是不希望被Pycharm index到的一些檔案,像是data或是python環境裝的套件,被歸類在Excluded roots 下的資料夾或是檔案都可以在背景看到明顯的黃色底
  • Test sources roots主要會用來存放測試用的code,由於多數的testing framework能自動偵測test的檔案,所以算是一個非必要的存在
  • Namespace package是用來區分專案內自己寫的package以及module,有助於幫助Pycharm在index時知道專案內有哪些自訂的package或是module

如果想要在單一個project內用到多個不同路徑的folder話,可以去project的設定頁面下選擇add content root ,就能在project的sidebar下看到多個不同folder內的檔案

image.png

External Library

在左側的project sidebar除了可以看到目前專案內有哪些檔案外,下方還能夠看到名為External Library的地方,裡面其實就是與python環境相關的所有資訊,包含了我們所使用的套件原始碼等

image.png

Scratch

Scratch在Pycharm內是一個很特殊的存在,他可以有助於使用者在project的scope外面創建一些暫存的檔案,Scratch又可以被分為Scratch files和Scratch buffers

  • Scratch files和其他在project內的檔案一下可以被編輯、支援syntax highlight以及autocomplete甚至還能被執行
  • Scratch buffers和Scratch files最不一樣的地方在於它不會有任何syntax highlight或是autocomplete的功能,比較適合用來存一些很臨時的txt檔或是note

Scratch file

Scratch files相對比較好創建,直接對右側最下方的Scratches按右鍵new即可,預設有非常多種檔案格式可以選

image.png

如果將來覺得Scratch files值得被歸類進project內的話可以直接使用拖曳的方式把檔案給拉近project

Scratch buffers

被藏的比較深,只能用ctrl+shift+a去搜尋創建的指令

image.png

Reference

Configuring Project Structure | PyCharm

Scratch files | PyCharm


上一篇
Day 03. Package Manager
下一篇
Day 05. Run & Debug的config設定
系列文
30天深入了解Pycharm31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言