IntelliJ IDEA 2020.1のLightEdit Modeについて

# 概要

2020年4月9日にIntelliJ IDEA 2020.1がリリースされました。
このバージョンで追加された新機能の1つ`LightEdit Mode`についてまとめました。

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
<blockquote class="twitter-tweet" data-lang="ja">
<p lang="ja" dir="ltr">IntelliJ IDEA 2020.1 is Released! What's new:</p>
IntelliJ IDEA (@intellijidea) <a href="https://twitter.com/intellijidea/status/1248259118617563137">2020年4月9日</a>
</blockquote>

**環境**

* Windows 10 Professional 1903
* IntelliJ IDEA 2020.1

**参考**

* [What’s New in IntelliJ IDEA 2020.1] (https://www.jetbrains.com/idea/whatsnew/#v20201-apr-9)
* [LightEdit Mode | Intellij IDEA Blog] (https://blog.jetbrains.com/idea/2020/04/lightedit-mode/)
* [IntelliJ IDEA 2020.1 EAP2: Improvements to the Debugger, the Profiler, and More] (https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1-eap-2/)

# LightEdit Modeとは

IntelliJ IDEA 2020.1で追加された新機能の1つで、IntelliJ IDEAのテキスト編集機能を使った汎用テキストエディタです。
なお、LightEdit Modeはテキストエディタとして利用されることを想定しているのでIntelliJ IDEAのプロジェクト管理やGit連携、高度なコード補完、コード分析(syntax errorの検知)などは使えません。

> [LightEdit Mode] (https://blog.jetbrains.com/idea/2020/01/intellij-idea-2020-1-eap-2/#lightedit_mode)
>
> It’s been developed in response to a frequent request to use IntelliJ IDEA as a general-purpose text editor [IDEA-62898] (https://youtrack.jetbrains.com/issue/IDEA-62898).
> \--------------------------------------------------------------------------------------- 
> IntelliJ IDEAを汎用のテキストエディターとして使用するという頻繁な要求に応えて開発されました[IDEA-62898]。

# 起動

起動方法はいくつかありますが、いずれもLightEdit Modeで起動するとIntelliJ IDEAのエディターウィンドウ（だけ）が開きます。
テキストエディタとしての機能しか持たないのでIntelliJ IDEAと比べると起動は早くなっています。

**コマンドライン**

コマンドラインからの起動は`idea64.exe` または `idea.bat` の引数に開きたいファイル名を指定します。
（※デフォルトでは`idea64.exe`や`idea.bat`へのパスは環境変数pathに登録されていないので、事前に登録しておく必要があります。）

```
> idea64 somefile.txt
```

コマンドラインから起動するときの注意点として、ファイル名を指定しなかったりディレクトリを指定するとIntelliJ IDEAが起動します。
また、LightEdit Modeで開こうとするファイルのプロジェクトを、すでにIntelliJ IDEAで開いている場合は、LightEdit Modeはアクティブになりません。

**Windowsエクスプローラ**

ファイルタイプがidea64.exeに関連付けられている場合、Windowsエクスプローラからダブルクリックで起動できます。

## 画面

LightEdit Modeでファイルを開くと図のようなエディタ―画面が表示されます。図からわかるようにメニューバーには`File`、`Edit`、`View`、`Help`しかありません。
![lem_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/2f13390b-4a58-671d-76f9-613b9661b9ab.png)

## コードハイライト

コードハイライトは部分的にしか対応していません。下の2つの画像は同じJavaソースファイルをLightEdit Modeで開いたときと、IntelliJ IDEAで開いたときのものです。

**LightEdit Mode**
![lem_02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/d66cdf85-eecb-6cbe-602a-26eeb63dc779.png)

**IntelliJ IDEA**
![lem_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/802b341c-9b1f-6d72-3d2e-99fd5293200c.png)

## ショートカットキー（キーバインド）

テキスト編集部分のショートカットキーはIntelliJ IDEAと同様のものが使えます。
（※以下は確認したショートカットキーで、これで全てではありません。）

**ファイル内検索**

<kbd>Ctrl + F</kbd>

**検索キーワードへのジャンプ**

<kbd>Ctrl + L</kbd> or <kbd>F3</kbd>
<kbd>Ctrl + Shift + L</kbd> or <kbd>Shift + F3</kbd>

**カレント行の下に空行を追加**

<kbd>Shift + Enter</kbd>

**カレント行の複製**

<kbd>Ctrl + D</kbd>

**カレント行の削除**

<kbd>Ctrl + Y</kbd> or <kbd>Shift + Delete</kbd>

**全選択**

<kbd>Ctrl + A</kbd>

**選択範囲の上下移動**

<kbd>Shift + Alt + ↑</kbd>
<kbd>Shift + Alt + ↓</kbd>

**選択範囲のコメント/アンコメント**

<kbd>Ctrl + /</kbd>

**保存**

<kbd>Ctrl + S</kbd>

**Undo**

<kbd>Ctrl + Z</kbd>

**コードブロックの折り畳み/展開**

<kbd>Ctrl + テンキーの-</kbd>
<kbd>Ctrl + テンキーの+</kbd>

**最近開いたファイル**

<kbd>Ctrl + E</kbd>

### ブロックコメント/アンコメント

選択範囲のブロックコメント/アンコメント <kbd>Ctrl + Shift + /</kbd> は使えないようです。

### コードフォーマット

コードフォーマットの <kbd>Ctrl + Alt + L</kbd> は使えないようです。

### アクティブなタブの切り替え

1つのLightEdit Modeで複数のファイルを開くことができます。IntelliJ IDEAではアクティブなタブの切り替えはショートカットキー<kbd>Alt + ←</kbd> / <kbd>Alt + →</kbd>で行えますが、LightEdit Modeでは切り替えは出来ませんでした。

## プロジェクトファイルを開く場合の注意点

pom.xmlやbuild.gradleなどのプロジェクトファイルをLightEdit Modeのメニューバーの`File` → `Open...`から開こうとすると
![lem_06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/289199e1-2963-75dc-22e7-4d9903eba159.png)

図の確認画面が表示されます。
`Open as File`をクリックすると別タブで開きますが、`Open as Project`をクリックするとそのプロジェクトファイルのプロジェクトがIntelliJ IDEAで開きます。
![lem_04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/4e467a32-9312-8150-3956-4849a9ff1404.png)

注意点として、以下のようにプロジェクトファイルをLightEdit Modeで開くと確認されることなくIntelliJ IDEAが起動します。

```
> idea64 pom.xml
```

## マークダウンファイルを開く

マークダウンファイルを開くとエディターの右側にIntelliJ IDEAと同様にプレビューが表示されます。
![lem_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/41cbb11a-06be-d03a-3308-c853478139b2.png)

## IntelliJ IDEAで開きなおす

LightEdit Modeで開いたファイルをIntelliJ IDEAで開きなおすことができます。LightEdit Modeのメニューバーの`File` → `Open File in Project...`を選択すると
![lem_07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/aca78750-ceb5-08e2-d5bd-e0ed8023ea36.png)

図のようにIntelliJ IDEAでプロジェクトを開いた状態にスイッチできます。
![lem_08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/22772/951b4df7-d537-ab36-a00a-839b61223ecd.png)

なお、逆のスイッチはできません。

# まとめ

IntelliJ IDEAの機能が使える軽量なテキストエディタを期待していましたが、起動時間はVSCodeやサクラエディタなどに比べるとそれほど早くなかったです。
リリースされたばかりなので今後のバージョンアップで最適化されるのではないかと思います。
今のところ他のテキストエディタと置き換えるだけのモチベーションはないですが、とりあえずキーバインドはIntelliJ IDEAと同じなので操作性を重視する場合は利用する価値がありそうです。