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

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

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

  1. 安裝 Perl 的執行環境
  2. 安裝 VS Code Editor
  3. 在 VS Code 安裝 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 的執行環境之後,要達到 VS Code 延伸模組的需求,要再安裝以下幾個 Perl 模組:

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

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

 

2. 安裝 VS Code Editor

下載網址:

for Windows:

下載 .exe 執行檔來安裝...沒什麼特別要寫的。

for RHEL/CentOS Linux:

下載 .rpm 檔,安裝指令:

$ rpm -ivh Filename.rpm

執行 VS Code:

$ code

for Ubuntu Linux:

下載 .deb 檔,安裝指令:

$ dpkg -i Filename.deb

執行 VS Code:

$ code

 

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

Perl 延伸模組

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

安裝好 Perl 的延伸模組後,當第一次按 F5 要執行與偵錯時,VS Code 會請你建立一個 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 就不會暫停了。

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

不推薦的 Perl 延伸模組

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

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

補充資料

補充幾個在 VS Code 中,有助於加強程式設計或管理功能的延伸模組:

  • Chinese (Traditional) Language Pack: VS Code 的正體中文語言套件。
  • Error Lens: 將偵錯器診斷出來程式的錯誤訊息顯示在程式行的後面。
  • Code Runner: 一鍵執行程式檔,或選取範圍的程式碼,支援 50+ 種程式語言 (不過你必須自己安裝編譯器)。安裝後工具列會多出一個「執行」圖示,也可用快速鍵: 按 Ctrl + Alt + N 執行程式,按 Ctrl + Alt + M 停止執行 (作者的說明)。
  • Todo Tree: 彙整程式備註中的待辦事項,可用的關鍵字: BUG, TODO, FIXME, HACK, XXX, [ ], [x]
  • Bookmarks: 增加「書籤」面板及功能,可將檔案的特定位置加入書籤。快速鍵: 按 Ctrl + Alt + K 新增書籤,按 Ctrl + Alt + J / L 切換書籤。

由於本文是著重在 Perl 的程式開發,其它關於 VS Code 的相關說明、延伸模組、快速鍵...等資料,請參考本站的這篇文章

參考網頁

  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了讚: