[Perl]如何在 VScode 建立 Perl 的程式開發環境 (Windows/Linux)

據說 Perl 可能是近幾年會消失的 5 種程式語言之一,另外 4 個語言則是 RubyHaskellObject-CR! 現在在 VScode 建立 Perl 的程式開發環境算是幫 Perl 續一下命,大慈大悲、功德無量。

在 VScode 建立 Perl 的開發環境主要分為三個步驟:

  1. 安裝 Perl 的執行環境
  2. 安裝 VScode IDE
  3. 在 VScode 安裝 Perl 的延伸模組 (Extension)

1. 安裝 Perl 的執行環境

for Windows:

Windows 作業系統就直接安裝 Strawberry Perl for Windows。Strawberry Perl 整合了 Perl 執行環境及 GNU 編譯器 (後續要安裝模組時會用到 GNU 編譯器),下載網址:

選擇你要的版本下載即可,怕麻煩的就直接安裝最新版本的 MSI 檔,安裝程式會幫你設定好 Windows 的環境變數。

不怕麻煩,或需要同時擁有不同 Perl 版本的,就下載 Portable 版來使用。Portable 版安裝好需自己設定環境變數中的 Path 變數,加入這三個路徑即可使用:

  • <安裝目錄>\perl\bin
  • <安裝目錄>\perl\site\bin
  • <安裝目錄>\c\bin

另一個方法是用 Miniconda 建立 Perl 執行環境,指令:

$ conda create -n perl-env
$ conda activate perl-env
$ conda install perl

Miniconda 可參考本站另一篇教學。不過 Miniconda 仍需要自己設定環境變數中的 Path 變數。

for Linux:

Linux 作業系統通常都會具備 Perl 的執行環境了,如果沒有,就自行用套件管理程式安裝 Perl 與編譯工具,例如:

$ yum install perl perl-CPAN
$ yum install make

或:

$ apt install perl
$ apt install make

記得要安裝 make 唷!

查看 Perl 版本:

進入命令列模式或終端機,查看一下 Perl 與 CAPN 的版本,確保可以正常執行。例如:

C:\>perl -v
This is perl 5, version 28, subversion 2 (v5.28.2) built for MSWin32-x64-multi-thread
Copyright 1987-2019, Larry Wall
...

C:\>cpan -v
Loading internal logger. Log::Log4perl recommended for better logging
>(info): C:\Strawberry-Perl\5.28\perl\bin/cpan script version 1.675, CPAN.pm version 2.26

安裝 Perl 模組:

在你的作業系統安裝好 Perl 的執行環境之後,要達到 VScode 延伸模組的需求,還要安裝以下幾個 Perl 模組:

$ cpan PadWalker
$ cpan Data::Dumper
$ cpan Perl::Tidy

其中,PadWalker & Data::Dumper 是為了讓 VScode 在偵錯時的「變數」面板可以取得程式執行時的變數,而 Perl::Tidy 則是自動排版程式碼的格式器。

 

2. 安裝 VScode IDE

下載網址:

for Windows:

沒什麼好寫的。

for RHEL/CentOS Linux:

下載 .rpm 檔,安裝指令:

$ rpm -ivh Filename.rpm

執行 VScode:

$ code

for Ubuntu Linux:

下載 .deb 檔,安裝指令:

$ dpkg -i Filename.deb

執行 VScode:

$ code

 

3. 在 VScode 安裝 Perl 的延伸模組 (Extension)

Perl 延伸模組

只要安裝這兩個模組即可:

安裝好 Perl 的延伸模組後,第一次按 F5 要執行與偵錯時,VScode 會請你建立一個 launch.json 檔案,點一下 [建立 launch.json 檔案] 讓它自動建立即可。launch.json 的內容如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "perl",
            "request": "launch",
            "name": "Perl Debug",
            "program": "${workspaceFolder}/${relativeFile}",
            "stopOnEntry": true
        }
    ]
}

這個檔案可以修改 stopOnEntry 參數,將 true 改為 false,避免每次按 F5 執行 Perl 程式都會先暫停在第一行程式碼,要再按一次 F5 才會執行到最後! 改成 false 就不會暫停了。

另外,你如果想要在 VScode 偵錯時查看「變數」面板顯示的變數,那麼你得在程式中設「中斷點」才行,這點不如 Spyder 方便 (不過 Spyder 不支援 Perl)。

其它 Perl 延伸模組

我還有安裝過這兩個延伸模組:

  • Perl Toolbox: 這模組於程式碼執行後才會取得語法與程式錯誤,並非即時。而顯示的 Linting 警告過於嚴格,除非你想要看到嚴格的警告訊息才安裝。不過程式寫得太嚴謹會違反 Perl 的中心思想 😅 。
  • Perl (Gerald Richter): 這是在 VScode 的延伸模組搜尋 perl 時,會出現在第一筆的模組。要使用這個模組,你的主機環境也要自行安裝 Perl::LanguageServer 模組。只是我好不容易將全部的模組都裝好了,在 VScode 裡卻只有「程式補完」可使用,其它網頁上寫的功能,如: 語法檢查、除錯、顯示變數、前往定義、自動排版 (格式器)...通通無法使用! 我不死心的在 Windows 與 Ubuntu 中測試都一樣! 在這裡寫出來是叫大家可以不用試了! 但是你如果知道是什麼原因造成的,也請留言告訴我!

 

補充資料

推薦的 VScode 延伸模組

顯示/美化:

Markdown:

  • Markdown Preview Enhanced: 在 VScode 直接預覽 Markdown 文件,支援 Latex 語法的數學公式,以及 Mermaid 流程圖 (簡介)
  • Paste Image: 在編輯 Markdown 文件時,按 Ctrl + Alt + V 即可將剪貼簿中的圖片貼到該文件的資料夾,並且自動於 Markdown 文件中插入圖片語法: ![](Filename.png),這些動作一氣呵成,能節省我們許多寶貴的時間。建議於 settings.json 加入以下的設定:
    "pasteImage.path": "${currentFileDir}/images"

    這樣可以將貼上的圖片集中於 images 資料夾

程式功能:

  • Code Runner: 一鍵執行程式或選取範圍的程式碼,支援超過 50 種程式語言 (不過你必須自己安裝編譯器),安裝後工具列會多出一個「執行」圖示,也可用快速鍵: 按 Ctrl + Alt + N 執行程式,按 Ctrl + Alt + M 停止執行 (作者說明)。如果執行 Python 程式時的中文全都變成亂碼,可於 settings.json 加入以下的編碼設定:
    "code-runner.executorMap": {
        "python": "set PYTHONIOENCODING=utf8 && python -u",
    }
  • IntelliCode API Usage Examples: 幫你查詢函式在網路上的使用範例,可惜只支援 Python、JavaScript、TypeScript。

管理:

  • Todo Tree: 整理程式備註中的待辦事項,可用的關鍵字: TODO, FIXME, HACK, XXX, [ ], [x]
  • Bookmarks: 增加「書籤」面板及功能,可將檔案的特定位置加入書籤。快速鍵: 按 Ctrl + Alt + K 新增書籤,按 Ctrl + Alt + JL 切換書籤。
  • Favorites: 增加「我的最愛」面板及功能,讓你將檔案加入我的最愛。

AI:

  • Tabnine: 真正的「自動完成」程式碼,幾乎支援所有的程式語言。要註冊免費的 Tabnine 帳號才能使用。

SVN 版本控制:

  • TortoiseSVN Helper: 如果你有安裝 TortoiseSVN,這模組會把 TortoiseSVN 的功能整合在滑鼠右鍵選單,幫你呼叫 TortoiseSVN 的圖形介面來使用 (for Windows)。
  • SVN: 這模組可在 VScode 的側邊欄檢視檔案提交的 Log,也可讓你用「指令」操作 SVN。你的電腦必須安裝 TortoiseSVN 的命令列工具 (for Windows)。
  • rabbitvcs-svn: 你的主機需安裝 RabbitVCS (for Linux)。

for Python:

網頁/圖片編輯:

  • Live Preview: 在你的電腦啟動一個 Web 伺服器,當你在 VScode 編輯的網頁時,可以在 VScode 的分頁「即時」預覽網頁的效果。與 Live Server 擇一安裝即可。
  • Live Server: 在你的電腦啟動一個 Web 伺服器,當你在 VScode 編輯的網頁按「儲存」時,會在瀏覽器中自動重新載入網頁內容。與 Live Preview 擇一安裝即可。
  • SVG: 加入 SVG 圖片的預覽及編輯功能。

其它:

 

VScode 常用的鍵盤快速鍵

  • F1Ctrl + ⇧Shift + P: 命令選擇區
  • Alt + : 切換開啟的檔案
  • Ctr + Tab: 切換開啟的檔案
  • Ctrl + J: 顯示/隱藏下方面版
  • Ctrl + B: 顯示/隱藏左側邊欄
  • Ctrl + Alt + B: 顯示/隱藏右側側邊欄
  • Alt + : 移動程式行
  • ⇧Shift + Alt + : 複製程式行
  • Ctrl + KCtrl + F: 排版選取的程式碼
  • ⇧Shift + Alt + F: 排版整個文件
  • Ctrl + G: 前往指定行
  • Ctrl + KCtrl + Q: 前往上次編輯位置
  • 按住 Ctrl 點選物件: 前往定義
  • F8: 移至有錯誤的程式行
  • Ctrl + E: 搜尋並開啟檔案
  • Ctrl + P: 搜尋並開啟檔案
  • Ctrl + D: 快速選取相同字串
  • Ctrl + KZ: Zen 模式
  • Ctrl + KCtrl + T: 變更色彩佈景主題
  • Ctrl + ,: 偏好設定

 

參考網頁

  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了讚: