PyCharm 2019.3發布,增加了哪些新功能呢?

  • 2019 年 12 月 12 日
  • 筆記

來源 | PyCharm官網 整理 | 豬哥 校正 | 豌豆花下貓

Python的IDE(Integrated Development Environment 集成開發環境)非常多,如:VS Code、Sublime、NotePad、Python自帶編輯器IDLE、JuPyter、Eclipse + PyDev等等,但是對於項目開發、管理、部署等稍微大一點的項目,豬哥覺得還是PyCharm最好用!

2019年12月2日,PyCharm迎來了2019.3版本,這也許會是2019年的最後一個大版本,那這個版本增加了哪些新功能呢?我們一起來看看吧!

一、Jupyter

PyCharm 在 2019年里連續發布了2019.12019.22019.3三個大版本,對Jupyter進行改進,這讓很多使用者感到欣慰,畢竟目前數據分析比較火,使用Jupyter Notebooks的開發者也越來越多。

注意此功能僅專業版才有!

1.互動式控制項

為了提供更多的交互性,Jupyter notebooks支援稱為「互動式控制項」的功能。這些控制項支援將靜態筆記型電腦轉變為互動式的面板,從而使其他用戶在查看你的筆記型電腦時,可以自定義視圖。

在此次更新中,PyCharm添加了對互動式控制項的支援。這意味著窗口小部件將隨著輸出一起呈現,並且可以像處理本機Jupyter notebooks一樣用於操作筆記。

2.運行時程式碼補全

PyCharm 的優勢之一是藉助先進的靜態程式碼分析演算法,可以實現智慧編碼提示。但是,對於動態語言(例如Python)而言,靜態程式碼分析還不足夠。這就是為什麼在此次更新中,我們利用Jupyter本身提供的運行時資訊來對其進行擴展。在某些情況下,例如在字典索引或深層嵌套的表達式中,IDE無法使用靜態分析來找出其類型,而此次更新將會使程式碼補全變得更為智慧。

3.在輸出面板上放大和縮小

此次更新支援將預覽的字體大小設置為與編輯器一致,或者在設置中進行自定義。編輯器提供了「使用Ctrl +滑鼠滾輪更改字體大小(縮放)「選項。啟用該選項後,你可以在按住Ctrl的同時,使用滑鼠滾輪來放大或縮小預覽。

二、Python

1.文件路徑聯想

害怕在寫文件名時打錯字?特別是有較長文件名時,例如open('data/ survey_data_28112019_exported.csv') ?現在,你可以在Python程式碼編輯器或控制台中獲得文件路徑建議。我們擴展了上下文感知的程式碼補全功能,因此上下文中與文件相關的字元串字面量可以為可能的文件路徑提供建議。

2.支援相對import

與絕對import相比,你更喜歡相對import嗎?PyCharm現在支援在這些風格之間自動地轉換。如果你已經使用相對導入方式導入了某個程式包,那麼所有新的從該程式包的導入也將自動創建為相對導入。

3.Python 3.8:TypedDicts

PyCharm 通過對TypedDict的支援,避免字典的錯誤賦值。為你的鍵值對結構提供更精確的展示,我們的程式碼編輯器能幫助你找到恰當的使用方法。

4.Python 3.8:字面量類型註解

你是否有採用特定字元串字面量的方法,例如帶文件模式「open」方法?你可以使用Python 3.8的Literal類型註解來檢查類型,還可以檢查特定的值。現在,當你調用的函數出現不支援的值時,PyCharm會出現告警。

5.自動創建pytest測試

我們升級了用於自動創建測試的工具,現在也支援pytest。有了這個,PyCharm允許你通過在方法聲明的菜單中,僅僅單擊「Go To | Test」選項,就自動創建pytest測試。

6.調試器:集合的大小資訊

調試時的跟蹤資訊應儘可能清晰與詳細。這就是我們調整變數視圖的原因,現在它可以顯示組織得更好且更全面的數據。有了這個,就可以期待新的排序、科學數組的更好的視覺表示、集合長度的顯示以及重複細節的去除。

三、性能提升

1.更快的索引

PyCharm 先進的程式碼內視可以幫助你更快地完成工作。為此,我們需要索引你的程式碼和所有導入的包。當你使用已編譯擴展的軟體包時(如許多數據科學軟體包),在對其進行索引之前,我們需要生成描述Python介面的Python骨架(存根文件)。我們對此過程進行了改進,預計整個索引過程至少快25%。當然,如果你在多個virtualenv中使用同一程式包,我們將重用已經創建的索引。

2.凍結次數減少,並改進了凍結報告

不幸的是,有時候PyCharm的UI會凍結一段時間,然後才讓你重新開始處理程式碼。我們意識到這是非常令人不快的事情,因此我們正在努力消除這些問題。我們已經修復了許多可能導致UI凍結的問題,現在,你可以直接從IDE中上報UI凍結,這使我們有可能調查其凍結的原因,並確保它不再發生。提前感謝你幫助我們擺脫PyCharm中的UI凍結問題!

3.更多的改進

  1. 今年,我們在所有JetBrains IDE的啟動性能方面進行了大量工作。 我們的核心平台的啟動時間在2019.3版本中得到了進一步改善,我們將繼續努力使IDE更快地啟動。
  2. 現在可以在不重啟IDE的情況下更改主題。 在選擇預先安裝的主題時或下載新主題後,都可以進行此操作。
  3. 在PyCharm 2019.3中,各種對於處理事件和忽略文件的改進,使版本控制的狀態更新得更快。
  4. 我們對編輯器的呈現方式進行了一些更改,現在滾動瀏覽一個長文件變得更加平滑。

四、資料庫支援

注意此功能僅專業版才有!

1.支援MongoDB

你要在MongoDB上構建應用程式嗎?那麼你將很高興地得知現在可以在PyCharm中查看MongoDB集合。通過從資料庫工具窗口(視圖|工具窗口|資料庫)添加數據源來連接資料庫。PyCharm Professional Edition附帶了 JetBrains DataGrip(JetBrains製造的專業SQL IDE)的所有資料庫功能。

五、IDE功能

1.參數化運行配置

在創建命令行應用程式時,通常可以方便地快速更改參數。儘管你可以進入「編輯配置」來進行更改,但是現在有一種更好的方法:使用新的運行配置宏(變數),每次啟動應用程式時,PyCharm都會提示你輸入值。

2.在選定內容中搜索

是否想知道在文件的某部分中,某些文本出現的頻率?現在,在你選定的內容中,find動作將自動查找。想要到處搜索?再次按Ctrl-F(在macOS上為Cmd-F),會將搜索範圍擴展到文件的其餘部分。

3.更多的改進

如果應用程式的一部分是用JavaScript編寫的,則很可能你在某處使用了Handlebars模板。如果安裝了 Handlebars插件,則現在可以在任何Python字元串中啟用Handlebars程式碼智慧。只需在字元串中按Alt-Enter,選擇「插入語言或參考」,然後鍵入「Handlebars」。

六、版本控制

1.與當前分支的改進比較

你擁有的分支越多,就越難追蹤它們之間的差異。在新版本的PyCharm中,分支比較功能看起來更好,並且可以使你快速了解哪些提交使兩個分支之間產生了差異。

2.改進了克隆程式碼倉的UI

無論你使用哪種程式碼倉,當你要拉取新項目時,我們現在都在同一個地方開始。

3.更多的改進

  1. 拉取遠程分支時,通常需要創建一個跟蹤該遠程分支的本地分支。 在PyCharm 2019.3中,』checkout』操作只有一個,可以確保你看到遠程分支的當前狀態,但是沒有丟失任何本地提交的風險。
  2. PyCharm始終能夠 push 你當前已拉取的分支。 有時,你可能要推送另一個分支,從現在開始,不再需要首先將其檢出。

七、Web開發

注意此功能僅專業版才有!

1.CDN中的CSS類

你是否要使用CDN中的樣式表?現在,我們可以下載該樣式表的一個版本,專門用於程式碼補全。

2.查看調試JavaScript時方法返回的值

就像在Python調試器中一樣,JavaScript調試器現在可以向你顯示你正在調用的方法的返回值。要查看返回值,請單擊調試器上的齒輪圖標,然後啟用「顯示返回值」。

3.更多的改進

  1. 設置CSS樣式,以強制使用單引號或雙引號。
  2. 無論你在CSS中使用單引號還是雙引號,PyCharm現在都可以幫助你使引號保持一致。 在 Other 選項卡中的 Settings | Editor | Code Style | Style Sheets | CSS 中進行配置。
  3. 你是否使用未為其定義propTypes的React組件? PyCharm現在能夠推斷 props,並且將為你提供未定義propTypes的組件的程式碼補全。