無理矢理。
概要
Eto.Formsでハイライトできるテキストエディタが欲しい。調査するとEto.CodeEditorというのがあるようだが、NuGetパッケージから入手できず、git cloneで入手するもMonoDevelopでビルドできなかった。
そこで、新しいプロジェクトを作成し、コードをパクってビルドしてみた。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch(9.0) 2018-06-27
- Mono 5.16.0
- MonoDevelop 7.6 build 711
- Eto.Forms 2.4.1 拡張機能, NuGetパッケージ
- .NET Core 2.2, MonoDevelop参照方法
調査
ググると以下をみつけた。
Eto.CodeEditor
というのがある。Gtkではgtksourceview
が参照されるらしい。
入手
MonoDevelopのNuGetパッケージ
Eto.Toolkit
で検索しても見つからない。
git clone
$ git clone https://github.com/picoe/Eto.Toolkit
入手できた。
ビルド
Eto.Toolkit.sln(プロジェクトを読み込めません)
Eto.Toolkit.sln
ファイルをダブルクリックし、MonoDevelopを起動すると、「プロジェクトを読み込めません」と怒られる。
実行ボタンを押してビルドすると「このプロジェクトの種類は、MonoDevelopによってサポートされていません」と怒られる。
新規プロジェクト
新規プロジェクトを作成し、ソースコードをコピペしてビルドしてみる。
1. プロジェクト作成
- MonoDevelopを起動する
- メニュー→
ファイル
→新しいソリューション
.NET Core
→ライブラリ
→.NET Standard ライブラリ
対象のフレームワーク
を1.6
にする(2.0にするとなぜか次のダイアログで「作成」が反応しなくなる)
- 名前などを適当に入力し、
Code
を選択する
- プロジェクトが作成される
2. .NET Standard バージョン指定
- ソリューションウインドウからプロジェクトを右クリックする
オプション
をクリックする
ビルド
→ターゲットフレームワーク
から.NET Standard 2.0
を選ぶ
- ソリューションウインドウのSDKの
.NET Standard
が、2.0.3
になっているのを確認する
これで1.6から2.0にできた。
3. NuGetでEto.Formsを追加
- メニュー→
プロジェクト
→NuGet パッケージの追加
パッケージを追加
ダイアログから欲しいパッケージを探す
- 検索窓に
Eto.Forms
と入力して絞り込む パッケージを追加
ボタンをクリックする同意する
4. ソースコード
Eto.Toolkit
ソリューション内にあるCodeEditor.cs
をコピペする。ファイル名もそれに変更する。
5. ビルド
.dll
ファイルが作成される。
所感
このdllを使えばハイライトできるTextEditorが使えるかも? 次回試してみる。