第2章 Che-Theia IDE の基本

本セクションでは、Che-Theia (Red Hat CodeReady Workspaces のネイティブ統合開発環境) の基本ワークフローとコマンドについて説明します。

2.1. Che-Theia のカスタムコマンドの定義

Che-Theia IDE を使用すると、ユーザーはワークスペースを使用する際に利用できる devfile でカスタムコマンドを定義できます。

これは、たとえば以下の場合に役立ちます。

  • プロジェクトのビルド、実行、およびデバッグを単純化する。
  • リード開発者がチームの要件に基づいてワークスペースをカスタマイズできるようにする。
  • 新たなチームメンバーの研修に要する時間を短縮する。

「devfile 2.0.0 のオーサリング」も参照してください。

2.1.1. Che-Theia タスクのタイプ

以下は、devfile の commands セクションの例です。

commands:

  - name: Package Native App
    actions:
      - type: exec
        component: centos-quarkus-maven
        command: "mvn package -Dnative -Dmaven.test.skip"
        workdir: ${CHE_PROJECTS_ROOT}/quarkus-quickstarts/getting-started

  - name: Start Native App
    actions:
      - type: exec
        component: ubi-minimal
        command: ./getting-started-1.0-SNAPSHOT-runner
        workdir: ${CHE_PROJECTS_ROOT}/quarkus-quickstarts/getting-started/target

  - name: Attach remote debugger
    actions:
    - type: vscode-launch
      referenceContent: |
        {
          "version": "0.2.0",
          "configurations": [
            {
              "type": "java",
              "request": "attach",
              "name": "Attach to Remote Quarkus App",
              "hostName": "localhost",
              "port": 5005
            }
          ]
        }
CodeReady Workspaces コマンド

Package Native App および Start Native App

CodeReady Workspaces コマンドは、ワークスペースコンテナーで実行されるタスクを定義するために使用されます。

  • exec タイプは、CodeReady Workspaces ランナーがコマンド実行に使用されることを示唆します。ユーザーは、コマンドが実行されるコンテナーでコンポーネントを指定できます。
  • command フィールドには、実行するコマンドラインが含まれます。
  • workdir は、コマンドを実行する作業ディレクトリーです。
  • component フィールドは、コマンドを実行するコンテナーを参照します。このフィールドには、コンテナーが定義されているコンポーネント alias が含まれます。
VS Code のlaunch設定

Attach remote debugger

VS Code launch 設定は、通常デバッグ設定を定義するために使用されます。これらの設定をトリガーするには、F5 を押すか、または Debug メニューから Start Debugging を選択します。この設定は、デバッグ用に接続するポートやデバッグするアプリケーションのタイプ (Node.js、Java など) などの情報をデバッガーに提供します。

  • タイプは vscode-launch です。
  • これには、VS Code 形式のlaunch設定が含まれます。
  • VS Code の launch 設定の詳細は、Visual Studio のドキュメントページでデバッグのセクションを参照してください

exec コマンドとしても知られるタイプ che のタスクは、Terminal→Run Task メニューから、または My Workspace パネルでそれらを選択して実行できます。他のタスクは、Terminal→Run Task からのみ選択できます。起動する設定が Che-Theia デバッガーで利用できます。

2.1.2. 実行およびデバッグ

Che-Theia は Debug Adapter Protocol をサポートします。このプロトコルは、開発ツールがデバッガーと通信する際の汎用的な方法を定義します。これは、Che-Theia がすべての実装で機能することを意味します。

前提条件

  • CodeReady Workspaces の実行中のインスタンスがある。CodeReady Workspaces のインスタンスをインストールするには、CodeReady Workspaces のインストールを参照してください。

手順

アプリケーションをデバッグするには、以下を実行します。

  1. DebugAdd Configuration をクリックして、launch 設定のデバッグまたはプロジェクトへの追加を行います。

    che theia basics 1
  2. ポップアップメニューから、デバッグするアプリケーションの適切な設定を選択します。

    che theia basics 2
  3. 属性を変更または追加して、設定を更新します。

    che theia basics 3
  4. ブレークポイントは、エディターのマージンを選択して切り替えることができます。

    che theia basics 3 b
  5. ブレークポイントメニューを開いたら、Edit Breakpoint コマンドを使用して条件を追加します。

    che theia basics 3 c

    IDE に Expresion 入力フィールドが表示されます。

    che theia basics 3 d
  6. デバッグを開始するには、View→Debug をクリックします。

    che theia basics 4
  7. Debug ビューで設定を選択し、F5 を押してアプリケーションをデバッグします。または、Ctrl+F5 を押してデバッグせずにアプリケーションを起動します。

    che theia basics 5

2.1.3. タスクおよびlaunch設定の編集

手順

設定ファイルをカスタマイズするには、以下を実行します。

  1. tasks.json または launch.json 設定ファイルを編集します。
  2. 設定ファイルに新規の定義を追加するか、既存の定義を変更します。

    注記

    変更内容は設定ファイルに保存されます。

  3. プラグインで提供されるタスク設定をカスタマイズするには、TerminalConfigure Tasks メニューオプションを選択して、設定するタスクを選択します。設定は tasks.json ファイルにコピーされ、編集に利用できます。