コンテンツへスキップ

DSP空挺団

Pascalのプログラミング環境

by

VS CodeとWSLを使って、Borland Pascal風の開発環境をあつらえてみました。

コンパイラのインストール

最初にUbuntuにFreePascalをインストールします。

sudo apt update
sudo apt install fpc-3.2.2 

FreePascal Toolkit拡張機能のインストール

VS CodeにFreePascal Toolkit拡張機能をインストールします。WSLを使っている場合、VS CodeのWSL側へのインストールになります。

FreePascal Toolkit は入力補完などをしてくれる拡張機能です。ビルドタスクを登録することもできます。コンパイラのパスは自動的に探し出します。

コンパイル用のタスクは、メニューバー -> Terminal -> Configure Tasks … Create tasks.json file from template でtasks.jsonを作り、以下のように書き込みます。この設定は"Debug Build"という名前のタスクを登録します。

{
 // See https://go.microsoft.com/fwlink/?LinkId=733558
 // for the documentation about the tasks.json format
 "version": "2.0.0",
 "tasks": [
 {
 "label": "Debug Build",
 "file": "main.lpr",
 "type": "fpc",
 "buildOption": {
 "unitOutputDir": "./out",
 "customOptions": [
 "-dDEBUG",
 "-gw2"
 ]
 }
 },
 ]
}

タスクではソースファイル名を直接指定していることに注意してください。

なお、tasks.jsonファイルを保存した後、メニューバー -> Terminal -> Configure Default Build Task ... を実行してすでに登録したDebug Build タスクを指定すると、Ctrl-Shift-Bでビルドできるようになります。

GDB Debugger – Beyond拡張機能のインストール

VS CodeにGDB Debugger – Beyond拡張機能をインストールします。

この拡張機能は各種言語のデバッグ機能を提供します。

拡張機能のインストールが終わったら、メニューバー -> Run -> Add Configuration … を使ってLaunch.jsonを開き、以下のようにLaunch(gdb) エントリーを追加します。

{
 // Use IntelliSense to learn about possible attributes.
 // Hover to view descriptions of existing attributes.
 // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
 "version": "0.2.0",
 "configurations": [
 
 {
 "type": "by-gdb",
 "request": "launch",
 "name": "Launch(gdb)",
 "program": "${fileBasenameNoExtension}",
 "cwd": "${workspaceRoot}"
 }
 ]
}

追加後はソースコードを開いた状態でF5キーを押すとデバッグを開始することができます。

スクリーンショット

ソースコードを見ながら以下のような機能を使えます。

  • ステップ実行
  • 実行
  • ブレークポイント
  • ローカル変数の表示
  • 式の表示
  • コールスタックの表示
  • マウスオーバーで変数内容の表示

おわりに

Pascalはコンパクトで良いです。

コメントする コメントをキャンセル

Wordpress Hashcash needs javascript to work, but your browser has javascript disabled. Your comment will be queued in Akismet!

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

AltStyle によって変換されたページ (->オリジナル) /