【Rust】EclipseでRustのIDE環境を作ってみる

# はじめに
これからRustプログラミングをやろうとしたときに、コマンドラインではなくて、よく使われているEclipseとVSCodeのどちらかで使ってみたいと考える人は多いかと思います。
そこでどちらが環境構築が簡単で使いやすいかを比較しようと思います。
前回はVS Codeで環境構築を行ってみました。

[【Rust】VSCodeでRustのIDE環境を作ってみる](https://qiita.com/yannori/items/189cc0dbce2b81b9d1e1)

今回はEclipseで構築します。
前回同様単純な比較を行いため、日本語化は行わないまま扱います。
気に入った場合は日本語拡張機能を入れてつかってください。

**　　　　　　　　インストール環境　Windows10**
# 目次

1. [Step1　Eclipse IDE for Rust Developersのダウンロード](#Step1)
1. [Step2　Eclipseを起動](#Step2)
1. [Step3　Rustupをインストール](#Step3)
1. [【感想】VSCode VS Eclipse for Rust](#end)
1. [Eclipse Corrosionってどういう意味ですか](#ps)
1. [参考文献](#ref)

<a id="#Step1"></a>
# Step1の前に

以下の説明を読んでいただけるとわかりますがEclipse IDE for Rust Developersを探すのはやや面倒になっています。すぐに試したいのでファイルそのものをいきなり欲しいという方は以下のリンクから直接とってください。

[Eclipse IDE 2020-12 R Eclipse IDE for Rust Developers](https://www.eclipse.org/downloads/packages/release/2020-12/r/eclipse-ide-rust-developers)

それではStep1（ダウンロード）のまえにRust開発のEclipseについて少し説明をしておきます。例えば'Rust' 'Eclipse'という検索ワードでさがしてもらえばわかりますが、開発環境は１種類というわけではありません。
少なくとも次の３種類は出てきます。説明はそれぞれのサイトの表現です。


| No |    名前     |    説明   |
|---:|-------------|------------|
| 1  |Eclipse IDE for Rust Developers             |            |
| 2  |Eclipse Corrosion             |   the Eclipse IDE for Rust         |
| 3  |  RustDT           |  an Eclipse based IDE for the Rust programming           |

これらの関係ではっきりしていることは、RustDTは2017年でメンテナンスを終了していてCorrosionはそれを引き継いでいるとなっています。
Eclipse + RustDTといった表現も結構でてきますがこれはCorrosionと考えていいでしょう。
そうなりますと１と２がともにEclipseのサイトからリリースされているのに、なぜ今もCorrosionプロジェクトが別になっているのかです。それはこれまでの経緯だと考えられますが、いまひとつ調べ切れていません。
もう少し３つについて説明を加えますと。

| No |    名前     |    説明   |
|---:|-------------|------------|
| 1  |Eclipse IDE for Rust Developers             |Eclipseの少し前のバージョン(Photon)でサポートされる           |
| 2  |Eclipse Corrosion             |  Eclipseの最新バージョンでもサポートされる         |
| 3  |  RustDT           |  2017年でサポート終了     |


となり、対応バージョンから推測するに明らかに開発は別々という感じです。１がCorrosionから引き継いでいるという説明も特になさそうです。

説明が長くなりましたが、Eclipse　for Rust だけで導入してしまうと自分がどのパッケージをインストールしたのかわからなくなりますので少し頭に残しておいたほうがよいかと思いあえて説明させていただきました。

<a id="#Step1"></a>
# Step1　Eclipse IDE for Rust Developersのダウンロード
EclipseのRust版をダウンロードします。

ここでは１のEclipse IDE for Rust Developersのインストールを行います。
理由としては他のパッケージをインストールするときと同じようにRustパッケージを選べたほうが私には自然に思えたからです。

[Eclipseのサイト](https://www.eclipse.org/)を訪れます。
![1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/6b41152f-f77e-8cea-45de-c6400c8bc8b1.png)
右上のDownloadボタンをクリックします。
現われた画面は最新バージョンです。パッケージのボタンをクリックします。
![1-1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/016ca710-d9dd-b582-cddf-89a8d8d5c3ca.png)
するとInstallerがあらわれます。ここにRustプロジェクトがあればいいのですが先に説明したようにここにはありません。つまり最新バージョンには対応していないということになります。
![1-2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/eeae8b6c-c583-2223-4ea9-164aa3598002.png)
そこでどこからさがすかといいますと、右サイドの下のほうにあるMoreDownloadです。
この時点でRustがサポートされている一番新しいのはEclipse 2020-12とわかっていますのでそこをクリックします。
![1-3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/5dbc0e85-2ac0-bf42-4291-146c9f112737.png)
するとRustプロジェクトを選択できるようになります。
![1-4.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/ceb1201a-e8c2-8e9b-5577-36d1f2231bfe.png)
ここではWindows x86_64 をクリックします。
![1-5.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/b7989b7b-4e93-bf40-afdd-6f85657380ce.png)
Downloadボタンをクリックすればダウンロードできます。
最近では直接落としてもそれほど不便は感じないですが、ダウンロード速度が遅いという場合はSelect Another Mirrorをクリックしてもらって、別サイトからダウンロードしてください。

eclipse-rust-2020-12-R-win32-x86_64.zipがダウンロードされますのでそのファイル
をCドライブ直下へ移動します。
展開場所はどこでも構いませんが、よくご存じのかたもおおいでしょうが、Eclipseはそのフォルダ内でほとんど閉じているため、一般的にはドライブ直下においてファイルアクセスを少しでも速くなるようにします。

展開してください。

Cドライブ直下にeclipseフォルダが作成されます。

<a id="#Step2"></a>
# Step2　Rustupをインストール
次にRustupのインストールです。ここは前回のVSCodeのときと同じことを行います。同じ内容になりますが書きます。なお、Rustupが入ってない状態でEclipseを起動しますと、Rustに必要ないくつかの部品が入っていないから設定しなさいというダイアログがでてきて、設定画面が立ち上がります。その画面でもインストールできるようになっています。

Rustupとは the Rust toolchain installerのことでRustのツールチェインし環境を提供してくれます。Rustもこれを推奨しています。

Rustのホームページに行きます(表示言語は選べます。ここでは日本語を選択しています。）
[Rust　ホームページ](https://www.rust-lang.org/ja/)
![112.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/00493246-3504-ecc1-dd3a-9e9a1e84d3af.png)
はじめるをクリックすると次の画面となります。

![113.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/a649a434-081d-8367-3987-13e3779f6c29.png)

RUSTUP-INIT.EXE(64-BIT)をダウンロードをクリックします。
rustup-init.exeがダウンロードされますのでそれをダブルクリックしてインストールをはじめます。

![114.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/77530535-12c3-206e-db4d-a4b6cee34553.png)

ここからはターミナルでのコマンドライン入力となります。
ここでdefault の１を入力してリターンをしますと次々にインストールが進みます。

![114-1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/a26b1dff-fbaf-f82c-8238-8ae8969022b7.png)

これでRustupはインストールされました。


<a id="#Step3"></a>
# Step3　Eclipseを起動

Eclipseを起動します。例によってワークスペースフォルダを聞いてきますので、そのディレクトリでよければLaunchボタンをクリックして進めます。
![37.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/399efcf0-5e56-8104-9b64-ca8cee73480e.png)
Welcome画面が出てきます。ここからはじめてもかまいませんが、WelcomeページはHelpメニューよりいつでも呼び出せますので、ここでは閉じます。
![38.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/0135cf73-a484-3649-a574-b5975cef1229.png)
それではNewProjectを作成しましょう。
![39.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/e5b36353-ccfb-bd4e-5834-f9cce5ac1f63.png)
Wizardが起動します。

![63.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/e631b9c4-b244-c436-e619-87cda7d3caf4.png)

Cargo　Projectを選択してNextをクリックします。

![64.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/f50f2795-7ebd-6084-a462-4e095a053355.png)
これでよければFinishで終了です。
するとVSCodeのときでもおなじみのHello Worldプログラムがはじめにはいっています。
それを実行します。

![33.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/191293/7fda17b3-3a8a-ba4c-791a-8b8afea839f3.png)

実行できています。

<a id="#end"></a>
# 感想 VSCode VS Eclipse for Rust

Rust開発のためにVSCodeとEclipseを試してみた個人的な感想です。
そのまえにお気づきになられたかたもおられるかと思いますが、デバッグ機能のインストールがここでは試されていません。無視をしたわけではありません。Rustupにはrust-gdbが含まれておりGDBによるデバッグができるはずなのですが、残念ながらいくら試しても以下のエラーが出て起動できませんでした。

```
Could not determine GDB version using command: rust-gdb --version
error: the 'rust-gdb.exe' binary, normally provided by the 'rustc' component,
 is not applicable to the 'stable-x86_64-pc-windows-msvc' toolchain
```
そんなはずはないと、Stack Overflowは当然としてかなり調べたつもりですが同じ内容で困っている人はいても、それにたいする解決策は見つかりませんでした。stable-x86_64-pc-windows-msvcを変更してみてはといったものまで試してみました。Corrosionも試しましたが同じでした。これについては今後の検討課題としていたいと思います。

ということで、公平な比較となっていませんが、比較した感想を言いますと、すぐにでも動かすということであれば、Eclipseのほうが設定が少ない分楽です。しかし残念ながらEclipseはデバッグ機能が動かせていないためIDEとしてはVSCodeを選んだほうがよいでしょう。今回は行っていませんが日本語化まで考えるとこれもVSCodeのほうに軍配があがるように思います。
<a id="#ps"></a>
#Eclipse Corrosionとはどういう意味ですか
今回登場したEclipseプロジェクト名のCorrosionはどういう意味がご存じでしょうか。
調べてみると腐食とかそういった意味です。私は過去にお目にかかったことのない英単語です。
おかしなプロジェクト名だと思いませんか？
何かコンピュータ関係で意味があるのかと調べてもまったくないので気にせずに使ってました。
しかしあるとき、急に気が付いたんです。
聡明な皆さんならすでにお気づきでしたでしょうか。
それぐらいすぐにわかるわですか。
そうなんです、そもそもRustはサビのことです。
サビは金属の腐食ですよね。
だからCorrosionですか。な～るほどです。
英語力がいまいちではやはりだめですね。

<a id="#ref"></a>
# 参考文献
- [How to Run Rust in Eclipse IDE](https://www.youtube.com/watch?v=1rSb29t7Oe8)