7
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LinuxとVisual Studio CodeでC# Guiアプリを開発する

Last updated at Posted at 2022-11-02

LinuxとVisual Studio CodeでC# Guiアプリを開発する

2024/10 Rider 非商用利用なら無償になりました。

準備

.net coreをインストール

GTK+-3.0をインストール

 $ sudo apt install libgtk-3-dev

Gtk3デザイナー gladeをインストール

 $ sudo apt install glade

GTKテンプレートをインストール

$ dotnet new -i "GtkSharp.Template.CSharp"

プロジェクトファイルを生成する

$ dotnet new gtkapp
$ dotnet new gtkdialog
$ dotnet new gtkwidget
$ dotnet new gtkwindow

Visual Studio Codeにプラグインをインストール

vscode-solution-explorerからソリューションを作る

Screenshot from 2022-11-02 21-52-09.png Screenshot from 2022-11-02 21-50-20.png

Visual Studio のようなSolutionを作ることができます。その中にプロジェクトを作成します。
Visual Studioのプロジェクトも読むことができます。

インテリセンス や シンタックスハイライト、定義へ移動 などの開発に必要な一通りの機能を提供してくれるプラグインです。

他のプラグインはこの方が参考になります

ソリューションを作成

Screenshot from 2022-11-02 21-07-00.png

Gtkテンプレートプロジェクトファイルを生成

GtkテンプレートがインストールされているとGtk Appが表示されます。
Screenshot from 2022-11-02 21-08-46.png

表示されない場合はコマンドからテンプレートを生成します。

$ dotnet new gtkapp

Gtkテンプレートプロジェクトファイルが生成された

Screenshot from 2022-11-02 21-10-49.png

testAppの右クリックしRunを押すとアプリが起動します。
Screenshot from 2022-11-02 21-13-03.png

イベントハンドラー自動生成ツールを使う

Visual Studioのようなボタンを押してイベント文を自動生成するような機能がGladeにはないので作りました。

ターミナルから実行します。

$ GladeGeneratorGUI -projectName プロジェクト名 -fileDir グレードファイルのパス/MainWindow.glade

fileDir グレードファイルのフルパスを指定します。

このようなGUIアプリが起動します。
Screenshot from 2022-11-02 21-31-07.png

指定したボタンにチェックを入れ、出力ボタンを押すとイベント文が自動生成されます。
Screenshot from 2022-11-02 21-28-01.png

Gladeファイルを編集する

Gladeアプリを起動させ、Gladeファイルを開きます。

イベントハンドラー名を記入

Onを押すとインテリセンスが効きます
Screenshot from 2022-11-02 21-16-06.png

ボタンに名前を記入

変数として生成されます。
Screenshot from 2022-11-02 21-16-24.png

Gladeファイルを指定す、ターミナルから起動

書き出したいものにチェックを入れ、OutPutボタンを押すと自動生成される
Screenshot from 2022-11-02 21-31-07.png

イベントハンドラーが自動生成される。
Screenshot from 2022-11-02 21-28-01.png

変数の定義のファイルが自動生成される。Partial Classで生成される
Screenshot from 2022-11-02 21-28-19.png

元のクラスも拡張クラスにしてください
classの前にpartialを追加してください
Screenshot from 2022-11-02 21-32-40.png

ボタンを押すとイベントが実行される
Screenshot from 2022-11-02 21-33-15.png

TreeView生成はこのツールを使います

LinuxとVsCodeでC# GTK GUIアプリをデバッグするに続く

7
10
0

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
7
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?