海外で人気の多機能エディタNotepad++において、色設定(シンタックスハイライト)をカスタマイズする方法について説明します。
なお「Notepad++ v5.8.7-6(EUC-JP対応版)」をもとに解説します。
Notepad++の色設定について
プログラミング言語ごとに色設定を変えるシンタックスハイライトが、Notepad++ではかなり柔軟に設定できるようになっています。プロポーショナルフォントや日本語フォントも問題なく利用できますし、色だけでなく、太字・斜体・下線などの書式もこまかく設定できます。
ただそのぶん設定方法がいくぶん分かりにくく、Notepad++を使い出した頃は自分もどう設定するかよく迷ったので、ここで解説してみます。
スタイル設定のカスタマイズ
Notepad++では色設定は「スタイル設定」と呼ばれています。
メニューバーの「設定」→「スタイル設定」をクリックし、「テーマを選択」のリストボタンから既存のいくつかのスタイルを設定できます。
今回はこの一覧にオリジナルのスタイルを追加し、自由にカスタマイズしてみます。
スタイルの追加
いちから自分のスタイル設定ファイルを作るのは大変ですので、既存のスタイルファイルをコピーしてカスタマイズすることにします。
- Notepad++をインストールしたフォルダの「theme」フォルダを開き、既存の適当なスタイルをコピーして名前を変更します。(今回の例では「zenburn」をコピーして「MyStyle」にしました)
→ - Notepad++を再起動します。
- メニューバーの「設定」→「スタイル設定」をクリックし、「テーマを選択」の一覧に新たに追加されている「MyStyle」を選択します。
Global Stylesのカスタマイズ
Notepad++では、各言語別の設定とは別にGlobal Stylesと呼ばれる設定があります。言語それぞれの設定をしていない場合でも、このGlobal Stylesがまず反映されます。
- スタイル設定画面の「言語:」から「Global Styles」を選択します。
-
「コメント:」の「Global override」を選択します。
- 「Global override」は他言語すべての設定を上書きするものです。
フォントや色をここで設定し、なおかつ「~を他のスタイルにも適用」にチェックを入れていると、各言語のフォントや色を個別に設定しても反映されなくなります。(=各言語の設定よりも「Global override」が優先的に選択されます) - 色などは言語別に個別に設定したいことが多いと思いますので、「Global override」を使うのは「背景色」「フォント名」「フォントサイズ」あたりにしておくことをおすすめします。
- 「Global override」は他言語すべての設定を上書きするものです。
- そのほかの「Global Styles」を設定します。各設定は以下に示します。
- Default Style
- 基本的な文字色や背景色、フォント名…etcを設定します。(Global overrideで「他のスタイルにも適用」にチェックを入れていない場合は、この項目がデフォルトになります)
- Indent_guideline_Style
- 開始タグと終了タグの対応関係を示す点線部分に適用されるスタイルです。
- Brace highlight style
- タグや括弧の前後にカーソルがある場合に、対応するタグor括弧が強調表示されます。その強調表示のスタイルです。
- Bad brace colour
- きちんと閉じられていないタグや括弧を強調表示する際のスタイルです。
- Current line background
- 現在行を強調表示する際のスタイルです。
- Selected text colour
- テキストを選択した際のスタイルです。
- Caret colour
- キャレット(カーソル)のスタイルです。
- Line number margin
- 行番号のスタイルです。
- Fold
- 行の折り畳み操作部分のスタイルです。
- Fold margin
- 行の折り畳み操作部分の背景のスタイルです。
- White space symbol
- タブ・空白スペースのスタイルです。
- Smart HighLighting
- 特定の単語をダブルクリックで選択した際、ファイル内の同じ単語を強調表示する「スマートハイライト」のスタイルです。
- Incremental highlight all
- インクリメンタルサーチを行う際の強調表示スタイルです。
- Tags match highlighting
- 開始タグに対応する終了タグを強調表示する際のスタイルです。(Brace highlight styleと似ていますが、Brace~は括弧全般にも反映されるのに対し、Tags match~はタグのみに設定されます)
- Tags attribute
- タグ内の属性部分のスタイルです。
- Active tab focused
- タブ一覧部分における、現在のタブのスタイルです。
- Active tab unfocused
- ビューを二画面にしている場合に、アクティブになっているのにフォーカスされていないタブのスタイルです。
- Active tab text
- 現在のタブの文字色のスタイルです。
- Inactive tabs
- 現在選択されていないタブのスタイルです。
- Find Mark Style
- 検索時に「Mark」タブから「すべて検索」を実行した際に検索結果を強調表示する際のスタイルです。
※「Edge colour」は公式だと「Color of the vertical edge.」となってるんですが、ちょっと使いどころが分からなかったです。
言語別のカスタマイズ
次に各言語別の設定を行います。
言語ごとに設定項目が違いますが、ここでは「HTML」を例にとって説明してみます。
- DEFAULT
- メニューバーの「言語」からHTMLを選択した場合のデフォルトの設定です。(ただし「Global override」を設定している場合は「Global override」が優先されますので注意してください)
- COMMENT
- コメント部分のスタイルです。
- DOUBLESTRING
- ダブルクォーテーションで囲まれた文字列のスタイルです。
- SINGLESTRING
- シングルクォーテーションで囲まれた文字列のスタイルです。
- TAG
- タグ部分のスタイルです。
- TAGEND
- <br />のような「/>」部分に適用されるスタイルです。
- TAGUNKNOWN
- Notepad++がHTMLタグとして認識していないタグに適用されるスタイルです。
- ATTRIBUTE
- タグ内の属性部分のスタイルです。
- ATTRIBUTE
- Notepad++が認識していない属性部分に適用されるスタイルです。
- SGMLDEFAULT
- SGML(標準一般化マーク付け言語)のデフォルトスタイルです。
- CDATA
- CDATAのスタイルです。
- ENTITY
- 文字実体参照部分のスタイルです。
すべての設定が終わったら「保存して閉じる」をクリックします。
まとめ
一番注意しないといけないのは「Global Styles」内の「Global override」だと思います。重ねて書きますが、ここで「~を他のスタイルにも適用」にチェックを入れると、他のすべての設定を上書きしてしまうので注意してください。
Global overrideを使うと設定はすぐに済みますが、こまかな設定はしにくくなります。徹底的にカスタマイズしたい場合は、Global overrideは使わずにおくことをおすすめします。
Notepad++の場合、しようと思えば「タグ」「文字列」「コメント」それぞれにすべて違うフォントを設定したり、コメント部分だけ文字サイズを小さくしたりなど、とても柔軟な表示設定ができます。ぜひ自分好みの環境をつくりあげてください。