1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Eclipse の GitHub Copilot プラグインで C# コードを書く

Posted at

Eclipse をインストールしてみます。C# で Eclipse ってどうなん? と思って。

あと、今まで Eclipse は GitHub Copilot なかった(公式のものは・非公式のものはあったらしい)のですが、公式といえるものがプレビュー版で出たので。C# に対するサポートが手薄くても、Copilot あれば行けるでしょう。
https://devblogs.microsoft.com/java/github-copilot-for-eclipse-code-completion-now-in-public-preview/

■ ダウンロードサイトを探す

まずは、Eclipse の公式サイトがわからないので Wikipedia を頼ってみます。

image

公式サイトへジャンプ!

右上にダウンロードがあったのでダウンロード。
image

もう一回ダウンロード。わからないので一番基本っぽい、左のダウンロード。
image

更にダウンロードを!
image

ダウンロードされました。計画通り。
image

インストーラーでの選択。わからないので基本っぽいのをセンスで選んでいきます。
image

Java ダウンロードされそう。この環境すでに Java 入っていると思うのですが。進めていきます。
image

かなり長く待たされて。
image

更にここから長く待ち。
image

起動しそう。
image

突然刺激的なダイアログが!
これは選択に勇気がいります。
image

Eclipse が自信をセキュリティのスキャンの対象外にしようとしてきました。

■ スキャン選択

なので無慈悲にスキャン対象に。当然の結果です。

■ プラグインの導入

Eclipse も Visual Studio Code と同じように、プラグインでいろいろとアレするアレだと思うので、C# 用のプラグインを入れていきましょう。

メニュー > Help > Eclipse Marcketplace...

みたいですね。
image

それらしいのが開きましたので、検索して入れていきましょう。
image
image
image
image

多分 Copilot はいるんじゃないかな、と思うので GitHub Copilot も入れていきましょう。チャットはまだできないようですが使えるはずです。

■ GitHub Copilot プラグインのインストール

GitHub Copilot 検索して入れていきましょう。
image

C# の時には出たライセンス同意などなく再起動の案内。
image

覚悟を決めて再起動を指示したのに、インストール途中だけど、インストール完了させる? と。インストール完了させますよ。
image
image
image
image

はい。元の画面に戻りました。自動で再起動は......
image

出が遅いみたい。全般動きが遅いですね。これがセキュリティスキャンの力か......。
image

■ GitHub Copilot の設定

アカウントを設定していきましょう。Visual Studio などと同じですね。
image

といいつつ、ここの動きは違いますね。けれどブラウザが開いて Web でやっていくのは変わりません。
image

先のダイアログに表示されていたコードを Web で入力。したいのですが、キー押下時の挙動がアレですね。クリップボードからの貼り付けは普通に行くので、貼り付け推奨ですね。
image

設定できたみたいです。
image

■ C# のプロジェクトを新規作成

ついに念願の C# プロジェクトの新規作成を始めましょう。

メニュー > File > New > Other...

image
image

.NET のパスの設定をしろ! と。
image

dotnet コマンドの場所知らないので調べて。

image

設定します。
image

来ました。作成するプロジェクトを選択します。なれた .NET のプロジェクト新規作成です。わかるわかる大丈夫。

読める読める。
image

Project Template
.NET Aspire 運「繝励Μ繝吶せ繝ェ [C#]
.NET Aspire 繝サ繝√Λ繝ェ繧ケ繝サ [C#]
.NET Aspire 繝サ繝√Λ繝ェ繧ケ繝サ繝励Μ [C#]
.NET Aspire 繝サ繝√Λ繝ェ繧ケ繝サ繝励Μ (MSTest) [C#]
.NET Aspire 繝サ繝√Λ繝ェ繧ケ繝サ繝励Μ (NUnit) [C#]

読めませんでした!
image

dotnet new list

image
コマンドの結果と比較してそれらしいのを類推します。大丈夫大丈夫。これがコンソール アプリだ!(確信)
image

プロジェクトができました! できたと思う。できたはずです多分。
image

ファイルシステム上できていますね。
image

■ C# プロジェクトを開く

開き方がわからず試行錯誤の戦いの記録です。

多分、パースペクティブで Java のパースペクティブを開いて、C# プロジェクトのフォルダを開く、みたいな? よくわかりません。
image
image
image
image
image
image

コードが何とか開けました。
image

■ コードを書いてみる

皆さんお待ちかね! キーボードのキーを押してコードをタイプしていってみましょう!
image

無慈悲な (応答なし) からの eclipse.exe は応答していません 久しぶりに見ました。なんだか懐かしい。
image
image

■ もう一回

気を取り直して、強制終了からの再起動でもう一回チャレンジ!

来ました! いいですね。C# ですよ! C# !
image

でもこれ、Copilot っぽいですね。

■ GitHub Colipot の有効化/無効化

右下のアイコンからのメニューで Copilot の有効を変更できそうです。

無行為してみて......
image
image

有効に戻してみて......
image
image

やはり、Eclipse やプラグインではなく Copilot の力だったようです。
でもいいんですよ。Copilot で。優秀ですし、インテリセンス代わりに Copilot ! そういうのもあります。

■ Copilot を試す

ということで、Copilot を試しておきましょう。残念ながら今時点ではまた Copilot Chat は無いですが、大丈夫。チャットなどせずとも Copilot とお話しできます。

それがこれ。コメントでプロンプト書いてコード補完で返答をしてもらう Copilot テクニック。これで大抵のことは乗り越えられます。
image

ちなみに聞いていることはこの記事でチャットの LLM 切り替えでの性能を見た時のコードです。

// C# の機能を使いこなし C# らしいコードにしてください
// int[] array = new int[] { 1,2,3 };
// List<int> list = new List<int>();
// for(int i = 0; i < array.Length; i++)
// {
//     list.Add(array[i]);
// }

前述の記事にも書いていますが、Visual Studio が出してくれた改善コードがこちら。

using System.Linq;

var list = (new int[] { 1,2,3 }).ToList();

このコードと比較してみます。

image
image

前述の記事の LLM と同様の感じ。いい回答です。Eclipse、Copilot が使えれば使えそうです。

■ コードの実行

コードを書くだけなら、メモ帳でもできます。やはりコードを実行できてこその IDE。
image
image

実行も出できました。下の Console に Hello, World! 出ています。

■ Eclipse の GitHub Copilot

いい気がします。Copilot があれば Eclipse で C#。かけるかも。

1
0
1

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?