Release 2018.8.25

Arduino IDEのカスタマイズ preferencesファイル

Arduino IDEでは、色んな設定を変更してカスタマイズ出来ます。

設定を変える

「ファイル」メニュー→「環境設定(Ctrl+,)」から設定ウインドウが開けます。

ただ、これらは頻繁に使われるであろう簡単な部分だけなので、使い慣れてくると少し物足りなく感じます。しかし、この設定は“初期設定”ファイルに記録されている項目の一部で、そのファイルを直接いじれば、更に細かい部分が変更できたりします。

“初期設定”ファイルの扱い方

“初期設定”こと“preference”ファイルの場所は、OSによって違いますが、「環境設定」内に表記されています。

“preferences.txt”ファイルは普通のテキストファイルです。テキストエディタソフトで内容を書き換え、上書きすれば変更を適用できます。

設定は「項目名=それぞれの型にあった値」の形式で指定します。項目を書く順番は何処でも大丈夫ですが(IDEを起動すると勝手に順番を整理してくれます)、1項目1行で、ちゃんと“Return”改行するようにします。

また、ファイル内には既に記載されている項目もあるので、テキストエディタ上の“検索”で探し、あればそれを変更、なければ新たに項目を書き込むようにします。

大抵のテキストエディタは、Ctrl+fで“検索”出来ます

Arduino IDEが立ち上がっていると、書き換えによる変更が出来ないことに注意してください。これは、ソフト側が常に内容を書き換えているので、行った変更が上書き相殺されたり、ファイルのアクセス順番によって保存禁止扱いされるためです(Windowsの他のアプリケーションでも同様の話ですが…)。

また、ファイルを直接書き換えるので、書き間違えたりすると、ソフト自体が動かなくなる危険もあります。正常に動作している時のpreferences.txtをOS上であらかじめ複製し、バックアップとして残しておくことをおススメします。

必ず正常時のコピーを!不具合が出た時は現状のファイルを捨てて、コピーしたファイルを“preferences.txt”に変えれば、元に戻れます。

具体的な設定項目の情報は下記のサイトで得られます。

ただし、結構試してみたのですが、機能が今ひとつ分からないものが多々あります。項目を書き換えてもその違いが見えなかったり、或いは強制的に戻ってしまう項目もあったり。恐らく、バージョンアップでその機能を無効にした、とか、別の場所へ移行した、ためかと思われますが、最新の情報をまとめた一覧が見つからないため、謎が多いです。

なので、下記で説明している内容は、現状で自分が探った内容であり、その機能の100%正確な情報ではありません。加えて、ソフトのアップデートで今後変わる可能性もあります。あしからず。

ちなみに検証時の環境は、Arduino IDE version1.8.5, windows7です。

画面構成に関する項目

ウインドウのサイズや、配置位置に関する項目は、いくつかの設定が相互に関係していて混乱します。結局、「何も設定しない」というのが結論でした。以下、試行錯誤した過程と思って読んでください。

新規プロジェクトで起動する

デフォルトではArduino IDEを起動すると、前回のプロジェクトファイルが自動的に立ち上がります。これを「新規」で起動するようにしたければ、下記の項目を「0」にします。

last.sketch.count 起動時に開くウインドウ数 型:数値 初期値:1

こちらは「前回終了時に開いていた“履歴”の個数」項目のようです。

“履歴”のファイル場所に関しては、下記の項目によって、最近閉じられたウインドウから順に若い数字が振り分けられ、記載されています。

last.sketch番号.path 各“履歴”のファイルパス 型:文字列 ディレクトリ

つまり、last.sketch.countが「1」の場合はlast.sketch0.pathのファイルが、「0」だと何も無いので新規が起動時に開く、という事になります。

じゃあ、逆に「1」以上にすれば、複数の履歴が同時に開けるんじゃないか、と思ってしまいますが、何故かlast.sketch.countでは「1」以上だと「1」に書き換えられてしまい、結局、「0」か「1」しか書き込めません。しかも、新規で起動した場合も、それを保存すれば、やはり、last.sketch.countは「1」になってしまいます。

ただ、起動時に複数のウインドウを開かせる方法はあります。

複数のウインドウが開いた状態でソフトを終了する時、個々にウインドウを「閉じる(Ctrl+w)」のではなく、「ファイル」メニューの「終了(Ctrl+q)」で落とします。そうするとlast.sketck.countには、その数がちゃんと書き込まれ、次回起動する時には終了時と同じ状態で再開できます。

起動時のウインドウサイズ

下記はウインドウが開いた時のデフォルトサイズを指定するものです。

editor.window.width.default 横幅の初期値 型:数値 初期値:400
editor.window.height.default 高さの初期値 型:数値 初期値:500

ただし、これらはlast.sketch.countを「0」に変更していないと活きません。初期値では「1」になっているので、これにより“履歴”0番目の配置情報が読み込まれるようになっています。

last.sketch番号.location 各“履歴”のウインドウ配置 型:数値

“履歴”は新しい順に若い番号が振られ更新されていくので、ソフトがデフォルトのままなら、last.sketch0.locationが起動時のウインドウ配置となるわけです。

locationに入る数値群は、

last.sketch0.location=x, y, dx, dy, ed-size, bg

  •  
  •  
  • x:横位置(数値)
  • y:縦位置(数値)
  • dx:横幅 – width(数値)
  • dy:縦幅 – height(数値)
  • ed-size:エディタ領域の縦幅(数値)
  • bg:バックグラウンドでの起動(0/1?)

*変数を指す文字列は独自のものです。

ed-sizeは全体縦幅(dy)に対して、エディタ領域をどれだけ取るかという数値指定です。なので、値を増やすほどコンソール領域が縮みますが、ある程度コンソール領域が確保されていて、それ以上増やせません。もし変更したい場合は下記の項目を使います。

console.lines コンソール領域の確保行数  型:数値 初期値:4

恐らく、

118ピクセル + (フォントピクセル数 × console.lines

が“コンソールの最小領域”になるかと思います。コンソール要らないって人は「0」にしておくと、マウスドラッグで領域を潰せるようになります(ただし、それでもステータス領域分は最低限残るみたいで、“dy = ed-size”とはなりません)。

bgに関しては、バックグラウンドで起動するかどうかという設定らしく、「1」に設定しておくとバックグラウンドで立ち上がります。…ただし、この設定も強制的に「0」へ書き直されてしまいます(試したい方は、last.sketch.countが「1」の状態で、last.sketch0.locationのbgを「1」にして起動してみてください)。

last.sketch.countを「0」にした場合、履歴の配置情報の代わりに、下記の項目を参照するようです。

last.sketch.default.location デフォルトの配置位置 型:数値群

x, y, ed-sizeは変更可能のようですが、dx / dyに関しては、editor.window.height / width.defaultの値が上書きされるので操作できません(ちなみに、last.sketch.count「1」の時は、last.sketch0.locationの値が上書きされます)。

また、この項目の値がlast.sketch0.locationと違うと、強制的にlast.sketch.countが「1」に書き換えられるようです。

結論

上記の通り、ウインドウサイズや配置位置に関しては、前回の履歴設定が強く反映される仕組みのようなので、preferences.txtでなく、その都度、直接マウスドラッグで調整していくほうが単純で間違いないです。項目を書き換えるのが有用なのはconsole.linesと、ウインドウの“最小サイズ”を制限する下記の項目ぐらいかなと思います。

editor.window.height.min ウインドウ横幅の最小値 型:数値 初期値:290
editor.window.width.min ウインドウ高さの最小値 型:数値 初期値:400

操作に関する項目

作業効率UPに役立ちそうな項目を並べておきます。

アドバンス機能

下記の項目は通常でオフられている機能を有効にします。とりあえず、自分は便利な機能を2点認識していますが、他にもあるかもしれません。

editor.advanced 拡張機能の有効・無効 型:真偽 初期値:false

まず、alt+↑ / alt+↓ (windows)で、現在の行、又は選択した範囲を、上下に入れ替え出来るようになります。慣れれば、カット&ペーストで行うより便利だったりします。

2つめは、カーソルが乗っている文字列と同じ箇所を、自動でグレイ表示してくれます。これはかなり便利です。

タブ設定

キーボード“Tab”キーは、文字間の空白を調整するのに良く使いますが、デフォルトでは「“Tab”1回は半角スペース2個分」という設定になっています。

editor.tabs.expand tabをspaceに変換するか否か 型:真偽 初期値:true
editor.tabs.size tab1個が何個分のスペースか 型:数値 初期値:2

空白全てがスペースなのは、操作上単純で分かりやすいんですが、字頭を揃えたコメントが修正によってズレていくと、直すのが煩わしくなってきます。なので、自分は現状editor.tabs.expandを切り、本来の“Tab”として使ってます。ちなみにeditor.tabs.sizeは「4」ほどに設定。

行番号

エディタ左端に行番号が表示されます。デフォルトで表示されていなければ、こちらは有効にしておく事をオススメします。

editor.linenumbers 行番号を表示する 型:真偽 初期値:false

この設定はファイルメニュー上の“環境設定”にもあります。

折りたたみ

{}で括られた範囲を折り畳む事が出来るようになります。

editor.code_folding カッコした括りを折りたたむ 型:真偽 初期値:false

行番号の右に+ – マークが出て、表示・非表示の切替が出来ます。また、折り畳まないにしろ、括弧範囲がラインで視認しやすくなるので、「たくさん入れ子にしたら混乱した」時は、結構助かります。

マウスを記号線上に重ねるとラインが表示されます。

この設定はファイルメニュー上の“環境設定”にもあります。

コメントアウト

特定行のコメントアウト化・解除は、ショートカット(Ctrl + /)で出来ますが、下記の項目で別途のショートカットキーが設定できます。

editor.keys.shortcut_comment コメントアウト
ショートカットの別設定
型:文字 初期値:—

Ctrl+(任意の文字)で同じように機能します。ただ、既に通常のCtrl+/で慣れてしまったので、この設定はあまり活用できてませんが。

その他の項目

その他、動作を確認できたものの中から抜粋して。

GUIのデコ

Arduino IDEのウインドウ上に配置されているボタン類などはまとめて拡大・縮小できます。

gui.scale ウインドウグラフィック等の大きさ 型:数値/auto 初期値:auto

デフォルトはautoになっていますが、数値に書き換えると、100を基準として全体の拡大・縮小ができます。「コンパイルボタンが小さい!」とか、「グラフィック部分はもっとこじんまりと」と思っている方は調整するといいかもしれません(この設定はファイルメニュー上の“環境設定”にもあります)。

gui.scale=100
gui.scale=200

上記の項目は全てに影響するので、エディタ内の文字サイズだけ維持したいのであれば、フォント設定を相対的にイジるといいかと思います。

editor.font エディタ・シリアルモニタ上でのフォント設定 型:文字列 初期値:—

代入する内容は

editor.font=フォント名, plain(線幅?), フォントサイズ

という風になってるようです。いくつか試しましたが、フォントによっては(2バイト文字フォント等)扱えないっぽいです。ちなみにフォントサイズはファイルメニューの「環境設定」にある“エディタの文字の大きさ”と同一です。また、シリアルモニタ等の表示フォントにも適用されます。

エディタウインドウ上では特定キーワードに色が付きますが、配色は固定です。下記の項目で、そのセットが変更できます。

editor.syntax_theme 特定文字列の色セット 型:文字列 初期値:default?

初期設定である“default”に加え、“dark”というセットが用意されているようです。

それぞれのテーマは、C:\Program Files (x86)\Arduino\lib\theme\syntax フォルダ(Windowsの場合)にxml形式のファイルで格納されています。恐らく、このxmlファイルを別名で複製し、中身を書き換えればカスタム配色が出来るんじゃないかと…(試してないので自己責任でどうぞ)。

コンパイル時の保存中止

デフォルトでは、コンパイル・書き込み時にプロジェクトを保存するようになっています。

editor.save_on_verify コンパイル時の自動保存 型:真偽 初期値:true

ちょっとスケッチを書き換えたくらいで保存されてしまうのが嫌な人は切っておいたほうがいいかもしれません。或いは、新規プロジェクトをコンパイルする時にいちいち保存を強要されるのが面倒な人も同様です。

この設定はファイルメニュー上の“環境設定”にもあります。

履歴の整理

スケッチを保存したり、開いていくと、その履歴が下記の項目へ追記されていきます。

recent.sketches 開いたスケッチの履歴一覧 型:文字列 ディレクトリ

この項目は前述した“履歴”項目とは別で、「ファイル」メニューにある“最近使った項目を開く”で扱われる情報です。どんどん増えていきます。書き込まれる量が増えると、読み込む量が増え、結果、起動にも影響するようになるかと思います。

ある程度、溜まったら、消して整理する事をオススメします。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください