PhpStormのプラグインを作ってみ・・・、躓いてしまった。

# PhpStorm のプラグインを使って快適な環境を求めた

## 今のところ

### できたところ

 - メニューを追加して通知を発生させることができた

### これ以上進めない理由

 - サンプルをコピーしてもそのメソッドどこで宣言されているの？エラーだよ、状態 

### 今後どうするの？

 - Intelli J に必要な Java の環境を整理すること。

## 実現したいもの

 - プロジェクトごとに画面の一部を変更して一目で何のプロジェクトを開いているのかわかるようにしたい
 - 例：VSCode にて。奥の画面の開発プロジェクトと手前の画面が開発プロジェクト、一目でどっちのプロジェクトかわかるようになっています。
 -  ![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/1dc222fa-370d-09bd-7e6b-a41e731111fb.png)
 - これを実現したい！ちょっとおしゃれだし。
 
# 開発準備

[Setting Up a Development Environment](https://www.jetbrains.org/intellij/sdk/docs/basics/getting_started/setting_up_environment.html) を確認しながら進めてた。

- [Intelli J Community Edition](https://www.jetbrains.com/idea/download/) をインストール
    - 無料です。
    - Community ですよ！ Ultimate じゃないですよ！持っている人はそっちでもいいかも。
    - ![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/e5dbbdbf-4478-3397-e1e4-7139918c53db.png)

- Java のインストール
  - どれだ！どのバージョンを入れるのが正解なんだ！
  - そもそも別個に入れる必要あったのか？
  - これが後述する問題の原因なのかと。

```:powershell
PS C:\Users\y-nakagawa> java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
```
  - ダウンロードディレクトリーには3つの Java がダウンロードされている
     - jdk-11_windows-x64_bin.exe
     - jdk-8u181-windows-x64.exe
     - jdk-10.0.2_windows-x64_bin.exe
  
くそう、わからねぇ。

- [Intelli J Community Edition のソースのダウンロード](https://github.com/JetBrains/intellij-community)
    - ダウンロードしておいておくだけ。コンパイルとかいらない。
 
# 開発（えいやっ！）

- とりあえず Create New Project
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/bf08852f-0e41-57f5-bb9d-a05a3fa59c05.png)
- Next
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/58144305-dbe1-c971-bd41-dabea4213d31.png)
- SayHello
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/58579e62-eb2b-4c82-0e9c-3ebe905e9e59.png)
- IDとか入れる。ちゃんといれないと怒られる
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/686c721e-c5ba-37b0-d599-258981e65864.png)
- IDEのメニューにアクションを追加するため Plugin DevKit から Action を選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/d8198268-9cc2-e7ac-a3d6-148b24aac06b.png)
- どのメニューに挿入するか選択
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/57ff4b3e-a2f9-267f-b7bf-df25c12b76c5.png)
- いきなり赤字で怒られる Override ？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/8782c80d-4b5a-b9df-5a97-10e4713977f7.png)
- 気にせずデバッグ
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/fc5dc36d-69b0-0933-f717-ce63e3cfb62d.png)
- メニューに追加されていることを確認。動いてる
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/4d7126ac-2471-806d-5057-229c87c07c9e.png)

## Qiita の記事を参考にしてメニューをクリックしたときに通知を表示する
[IntelliJ IDEAのプラグインを作ろう！](https://qiita.com/Vexus2/items/e04a21f00e467b7ac8ad)

- とりあえずソースのコピペ。宣言がないって怒られる。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/9418179c-1cf1-4c71-1e04-02b8ad5c2c2b.png)

- Alt + Enter で解決していく
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/cd3349fc-107d-36dc-f66f-b4cff022dfdc.png)
- 動いた！右下に通知出た！なんか Java 変えろって言われてる。どう変えるんだ？
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/d28e02b4-4ce4-c51c-8715-522e50c85ca9.png)

- さらにQiita通りに進めていく。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/da652483-4c30-5c53-5843-624a11d55a5b.png)
- 何か動かない。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/184640/dca5eef9-a834-4589-0b87-27a32d89a975.png)
- int なのか Integer なのか。String があるのかないのか。Null の比較ができない？んんん？

## この後は？

Java の環境を整理します。
環境が曖昧なのでよくわからないことになっているのかと。

## そもそも。

 - 一部の色を変更することってできるのかな？
 - プロジェクトが何なのか一目でわかるようにするのであれば、背景の画像をプロジェクトごとに変更するのでできそう。
    - その機能は既存のプラグインにありそう。