LoginSignup
1
0

More than 3 years have passed since last update.

Visual Studio Code(SSH経由)でIBMi上のNode.jsファイルを編集・デバッグする

Last updated at Posted at 2019-06-27

目的

Visual Studio Codeを使い、IBMi上のnode.jsファイルを編集・デバッグします。

検証環境

  • ローカルPC(Windows10)
    • VSCode 1.35.1
  • IBMi
    • Node.js 10.15.3
    • SSHで接続出来ている事

ローカルPC側準備

  • VSCodeからIBMiにSSH接続するための拡張機能(SSH FS)をインストールします。
    01.PNG

  • SSHの設定をします。
    Ctrl+Shift+Pでコマンドパレットを開き、SSH FSと入力し候補を出します。
    Create a SSH SF configurationを選択します。
    Nameは適当な名前を入力し、Saveボタンを押します。
    01.PNG
    画面が遷移しますので、SSH接続の設定をします。(私は鍵認証方式で接続しました)
    設定が終わりましたら、SAVEボタンを押してください。

  • SSHで接続します。
    Ctrl+Shift+Pでコマンドパレットを開き、SSH FSと入力し候補を出します。
    Connect as Workspace folderを選択します。
    先ほど入力した設定が候補で出てきますので、クリックします。
    01.PNG
    接続が成功すると、以下のようにフォルダ/ファイルの一覧が表示されます。
    01.PNG
    これだけでも素晴らしいですね。

デバッグの方法

  • 作業フォルダの作成 ここでの作業はVSCodeでは出来ないので、5250のQP2TERMかSSH接続したターミナルから作業を行います。(以下、ターミナル) ※検証のため、expressをインストールしました。
mkdir debugtest
cd debugtest
npm init -y
npm install -save express

VSCodeに戻り、最新表示を押します。
01.PNG

  • デバッグ用ソースの準備を準備します。
server.js
const express = require("express");
const app = express();

app.get('/hello', (req, res) => {
    const message = 'Hello IBMi Node.js!!';

    res.send(message);
});

app.listen(8080);
  • デバッグ用package.jsonの編集します。

XXX.XXX.XXX.XXXはIBMiのIPアドレスです。

  "scripts": {
    "start": "node --inspect=xxx.xxx.xxx.xxx:9229 server.js"
  },
  • デバッグ用の.vscode/launch.jsonの作成し、編集します。

メニューから「デバッグ」→「構成を開く」→「構成の選択」でnode.jsを選びます。
.vscode/launch.jsonファイルが作成されるので、以下のように編集します。

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "attach",
      "name": "デバッグの開始",
      "address": "XXX.XXX.XXX.XXX",
      "port": 9229
    }
  ]
}
  • ターミナルからプログラムを起動します。
npm start

Debugger listening on ws:XXX.XXX.XXX.XXX:9229・・・
とメッセージが表示されることを確認してください。

  • VSCoodeからデバッグをとる。

メニューから「デバッグ」→「デバッグの開始」を選択します。

画面左下に、「読み込み済みスクリプト」が表示されますので、server.jsを選択します。

01.PNG

ここから、ブレークポイントを置くとデバッグが出来るようになります。

02.PNG

メモ:VSCode公式のRemote SSHでは繋がりませんでした・・・

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0