2026年4月4日土曜日

VSCode で ARES の C# クラスライブラリを作成(1)

はじめにVSCodeにC#開発環境を追加しましょう。

  1. VSCodeを実行し機能拡張から C# Dev Kit をインストールします。
  2. 関連する C# や .NET Install Tool もインストールされます。

以下の作業で、空のフォルダを作り、.Net が利用可能かどうかを確認します。

  1. VSCode のターミナルを開きます。
  2. CD C:\temp と入力して、c:\temp フォルダに移動します。
  3. MD cssample と入力して、cssample フォルダを作成します。
  4. CD cssample と入力して、C:\temp\cssample フォルダに移動します。
  5. dotnet --version と入力して、 .Net がインストールされているかどうかを調べます。

  6.  dotnet new classlib --name sample1 --framework net8.0 と入力して、カレントディレクトリに sample1 という名前のクラスライブラリを新規作成します。ターゲットフレームワークは .Net 8.0 にします。

  7. フォルダを開くで、c:\temp\cssample フォルダを開き、sample1.csproj プロジェクトファイルを開きます。
  8. プロジェクト参照を追加します。

  9. Class1.cs ファイルを開き、コードを追加します。


  10. ビルドします。

  11. 実行はARESからNETLOADコマンドでロードして、CSCIRC1コマンドを実行します。

  12. 実行結果





VSCode で ARES のアプリケーション開発(2)

ARESの設定

VSCodeをARESのデバッガとして利用するには次の設定を行います。

  1. OPTIONSコマンドで、オプションダイアログを開きます。
  2. 「システムオプション」の「LISPデバッガー」を選び、「デバッグの有効化」をチェックします。

  3. オプションダイアログをOKで閉じて設定を保存し、ARESを再起動します。
  4. VSCodeやLISP Extensionがインストールされていなかったら、インストールするように指示されます。

デバッグの開始

VSCodeでソースコードを記述し、ソースファイルを C:\Temp\Hello.lsp として保存します。

実行メニューのデバッグの開始を選ぶと、コマンドパレットが表示されて、"Graebert Lisp Debugger: Attach" と "Grabert Lisp Debugger: Launch" が表示されます。アタッチは起動中のARESでコードを実行します。Launch は ARES を起動してコードを実行します。

アタッチを選ぶとリストから起動中のARESを選択できます。
デバッグコンソールにプログラムロード成功という表示がでました。

ARES側でAPPLOAD[アプリケーションのロード]コマンドでソースコードをロードします。
ARES側で定義した LISP コマンド LSPHELLO を実行します。
VSCode側で、LISP コマンドの入り口で止まります。
1行目の家形はコードの実行位置です。
2行目の赤い丸はブレークポイントです。
ツールバーのボタンは左から
実行(F5) は処理の終わりまたはブレークポイントまで実行します。
ステップ実行(F10) は次の行まで実行します。
ステップイン(F11) はユーザー定義関数の中に入ります。
ステップアウト(Shift+F11) は現在の関数の最後まで進み元の関数の次の行で止まります。
再起動 (CTRL+F5)は処理を再開します。
切断(SHFT+F5)は処理を中止します。
F5キーにより、ブレークポイントで止まりました。

さらにF5キーを押すことでLISPコマンド LSPHELLOは終了しました。

ブレークポイントで停止

エディタで vla-AddCircle ポインタの行(38行目)にブレークポイントを設定します。
エディタとARESそれぞれにプログラムをロードさせたのち、ARES側でLISPコマンド ADDCIRC3 を実行します。
中心と半径を画面上で取得したのち、ブレークポイントで処理が止まります。


デバッグコンソールに変数名 app doc spc などを入力すると、それぞれ IAcadApplication 型のCOMオブジェクト、IAcadDocument 型のCOMオブジェクト、IAcadModelSpace 型のCOMオブジェクトが格納されていることがわかります。
また、左側のParameters (引数) のノードを展開すると、これから実行しようとする関数と引数(もしくは式)と、戻り値が表示されます。

ステップ実行[F10]で関数一つずつ処理をするか、実行[F5]キーで最後まで実行した後に、画面をARESに切り替えると、円を描いたことがわかります。






Visual Studio Codeで ARESのアプリケーション開発(1)

 Microsoft の汎用ソフトウェア統合開発環境の Visual Studio Code を使って、Graebert ARES Commander のカスタマイズをいじる。

Visual Studio Code の入手

Microsoft Store から入手します。


それがだめなら公式ページ(https://code.visualstudio.com) から入手します。


ユーザーインストーラー x64 版を起動した場合は、同意してインストール作業を進めます。

インストールが完了したらVisual Studio Code を起動できます。

起動すると英語なので、機能拡張から Japanese Language Pack をインストールします。
再起動後にメニューや画面が日本語になります。
Windows 用 Git もインストールします。
Git for Windowsのインストールで標準エディタを VSCode に変更します。
Git for Windowsのインストール後、VSCode をインストールすると、バージョン管理の画面が変わります。

Graebert LISP Extension の入手

機能拡張の検索ボックスに Graebert と入力してフィルタボタンを押すと Graebert LISP Extension が表示されるので、インストールします。


Graebert LISP Extension の概要

LISPとDCL言語のエディタとしての機能は以下の通りです。
  1. 構文強調表示
  2. スニペットによる補完
  3. 閉カッコの補完と対のカッコの強調表示(Smart bracket)
  4. コメント化、コメント解除  
  5.  自動補完 
  6.  関数定義への移動
  7.  多言語化
  8.  LISP コード保護 
  9. 見出しの追加と変更
  10. 矩形範囲の挿入
  11. オンラインヘルプ
  12. 現在のLISPファイルの読み込み
LISPとDCL言語のデバッガとしての機能は以下の通りです。
    1.  起動している ARES にアタッチする
    2.  ブレークポイントの設定
    3.  ステップ実行
    4.  変数と値を表示
    5.  デバッグコンソール
    6.  ユーザー入力時にARESをアクティブにする
    ARES LISP関数のポップアップヘルプなど便利なコードエディタとして使ってみて、ゆくゆくはデバッガ機能にも挑戦するのがよいと思われます。
     LISP コード保護機能によってLISPのソースコードを暗号化し、暗号化したプログラムを配布することも可能です。これによりエンドユーザーによる改竄やノウハウの流出を防ぎます。
    復号機能はないので、元のソースコードをなくさないようにしてください。






    VSCode で ARES の C# クラスライブラリを作成(1)

    はじめにVSCodeにC#開発環境を追加しましょう。 VSCodeを実行し機能拡張から C# Dev Kit をインストールします。 関連する C# や .NET Install Tool もインストールされます。 以下の作業で、空のフォルダを作り、.Net が利用可能かどうかを...