Eclipseで外部ツールとしてターミナルを使う話

# Eclipseでターミナル

WindowsでEclipseを使い始めました。ひょんなことからJava入門しています。つまり、EclipseもJavaも初心者レベルなので、ツッコミ大歓迎です。よろしくお願いします。ついでに、Windowsも経験が浅いです。

VS Codeでいいじゃん、なんでIntelliJを使わないの、というのは無しで。個人的には、VS Codeで済ませたかったのですが。。。

## やりたかったこと、できたこと

Eclipseでターミナルを使いたい。コマンドプロンプトは苦手なので、Git Bashで。要するに、VS Codeでできるように統合ペイン（組み込みウインドウ）でターゲットのディレクトリが開いてほしい。

結果的には、外部ツールとしてWindows Terminalを開く事ができるようになったのでオッケー。


## 統合ペインでは不具合がある？

ビューの追加で「ターミナル」を追加すれば、統合ペインとしてコマンドプロンプトもGit Bashも開くことができます。しかし、２バイトコードのカウント、スペーシングがバグっているようで、表示がおかしい。

![eclipse-terminal2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/dc3fc085-53a9-bc52-dfc0-06b742ce66d4.png)

上の「あいうえ」のように選択状態にすると、隠れた文字が見える。なにこれ。文字色が途中から切り替わっているのか？？　どうやったら、こんな器用な事ができるの？

![eclipse-terminal1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/3209ebdd-5f6b-f08c-1ed8-db8c8f11659f.png)
lsの詳細リスト表示などで日本語が含まれない行の表示もおかしい？　使えない！

## 統合ペインはあきらめて、外部ツールで

ザクっと調べたのですが、この不具合についての情報が何もなく、誰も使っていないのではないか疑惑。

そこで、統合ペインはあきらめて、「外部ツール」として、起動できるようにしました。

![eclipse-terminal3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/188cda76-a022-da11-d49d-072c33491a5a.png)

## 外部ツールの設定方法

「外部ツールの構成…」を開きます。

「プログラム」の上で右クリック、「新規構成…」で、新しい構成を追加します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/9a111e95-3341-562f-db5d-42124047d46c.png)


以下のふたつのパラメーターを記入して、適用。タイトルラベルは、Windows Terminalなど、好みで。
```
ロケーション：
C:\Windows\System32\cmd.exe

引数：
"/c  wt -d ${workspace_loc} ; new-tab -d ${project_loc} ; new-tab -d ${project_loc}\src"
```

ワークスペース、選択中のプロジェクト、さらにsrcディレクトリ、のタブが３つある、Windows Terminalウィンドウが開く設定です。お好みで引数の調整を。

あ、コマンドプロンプトが実行されると、Windows Terminalが開く設定にしてあります。Windows11です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/2b8c32ab-e462-cf65-1140-60781c80a254.png)

Windows10でWindows Terminalが開く設定がどこにあったか失念＆発見できないですが、設定されていれば同じ動作が可能です。

## 使い方と注意点

ファイルを開いた状態で、外部ツール起動すると、3つタブが開き、最後のタブでそのファイルが含まれているプロジェクトのsrcディレクトリがカレントになっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/cdc9803e-7cc8-f883-8e2a-46d9917995d4.png)

srcディレクトリーより上の階層にあるファイルを選択しているときでも、srcが開くので注意。
srcディレクトリを作らない設定のプロジェクトの場合、当然ですが、srcディレクトリのタブだけエラーになります。引数設定を調整してください。

あと、パッケージエクスプローラー上で、一度もプロジェクトを選択状態にしたことがないとき、エラーになります。環境変数がセットされない模様。Gitステージングなど、他のペインでも同じ現象が起きます。プロジェクト名をクリックすればオッケー。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/d765636d-6d95-9728-38de-eff925dbb6ca.png)


## Windows Terminal関連情報

### ウィンドウがいっぱい開いてうざい！

Eclipseから「外部ツール」を使うと、あとで、Windows Terminalがたくさん開いた状態になる。これは、コマンドオプションでは、既存のウィンドウにタブを追加、ができないためです。

[Windows ターミナルのコマンド ライン引数 | Microsoft Learn](https://learn.microsoft.com/ja-jp/windows/terminal/command-line-arguments?tabs=windows)
「Windows ターミナルでは、既存のインスタンスで新しいタブまたはペインを開くことはまだできません。」

どんどん、ウィンドウが開いてうざいときは、以下のWindows Terminal側の設定で。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/5412/4a62ecfd-5fe1-2310-c34f-a77903a7f960.png)


### すべてのタブを閉じますか　をやめる

さらに、タブが複数あるウィンドウを閉じようとすると、「すべてのタブを閉じますか」がでて、面倒、というときは、settings.jsonを編集して、以下の行を追加。
```
    "confirmCloseAllTabs": false

（参考）上述の設定「新しいインスタンスの動作」はこれですね。
    "windowingBehavior": "useExisting"
```

### Google Japanese Inputとの相性問題

Google Japanese Inputを使っていると、Windows Terminal起動時に半角英数「_A」に切り変わってしまいます。現在のままで変化しないか、せめて「直接入力」に切り替わるならばよいのですが。。現状では、Shift + CaspLockで「ひらがな」に切り替えて、さらに直接入力に戻る、という手間が必要で、うざい。

Windows Terminal側の問題のようです。早く治るといいな。昔はこんなことなかった気がする。

https://support.google.com/gboard/thread/180438722/windows-terminal-%E8%B5%B7%E5%8B%95%E6%99%82%E3%81%AE-%E5%85%A5%E5%8A%9B%E6%96%B9%E6%B3%95-%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E4%B8%8D%E5%85%B7%E5%90%88?hl=ja