LoginSignup
0
0

設定ファイル

Last updated at Posted at 2023-12-08

新規構文についての記事を書いている途中ですが、アドベントカレンダーの予定に穴が空いてしまったため急遽設定ファイルの話をねじ込んでいます。

UWSCRの設定ファイルはUWSCとは互換性が一切ありません。ファイル構成も大きく異なり、UWSCではiniファイルでしたがUWSCRではjsonファイルになっています。
設定ファイルは以下に保存されます。

%APPDATA%\UWSCR\settings.json

設定ファイルのバージョンに応じたjsonスキーマが公開されているため、Visual Studio Code等のjsonスキーマ対応エディタで編集することをおすすめします。

設定ファイルの作り方

初期状態では設定ファイルが作成されません。設定ファイルが存在しない場合、UWSCRはすべての設定のデフォルト値を適用します。
以下のコマンドを実行することで初めて設定ファイルが作成され、それを標準のエディタで開きます。

powershell
PS> uwscr --settings

設定ファイルの初期状態

バージョン0.14.0では以下のようになっています。

{
  "options": {
    "opt_finally": false,
    "explicit": false,
    "dlg_title": null,
    "log_file": 1,
    "log_lines": 400,
    "log_path": null,
    "position": {
      "left": 0,
      "top": 0
    },
    "default_font": {
      "name": "Yu Gothic UI",
      "size": 20
    },
    "fix_balloon": false,
    "no_stop_hot_key": false,
    "short_circuit": true,
    "opt_public": false,
    "same_str": false,
    "gui_print": false,
    "force_bool": false
  },
  "browser": {
    "chrome": null,
    "msedge": null
  },
  "chkimg": {
    "save_ss": false
  },
  "logfont": {
    "name": "MS Gothic",
    "size": 15
  },
  "$schema": "https://github.com/stuncloud/UWSCR/releases/download/0.14.0/uwscr-settings-schema.json"
}

設定項目詳細

設定項目が省略された場合は既定値が適用されます。

options

OPTION構文を予め設定しておくことができます。

一部の設定は適用されません。

0.14.0では一部のOPTIONが実装されていません。そのため対応する設定項目も動作に影響しません。

opt_finally

OPTION OPTFINALLYの初期値を設定します。既定値はfalseです。

explicit

OPTION EXPLICITの初期値を設定します。既定値はfalseです。

dlg_title

OPTION DLGTITLEの初期値を設定します。既定値はnullです。

LOGFILE

OPTION LOGFILEの初期値を設定します。既定値は1です。

log_lines

OPTION LOGLINESの初期値を設定します。既定値は400です。
0.14.0時点では未実装のため機能しません。

log_path

OPTION LOGPATHの初期値を設定します。既定値はnullです。
0.14.0時点では未実装のため機能しません。

position

OPTION POSITIONの初期値を設定します。既定値は{"left": 0, "top": 0}です。
メインGUIが存在しないため、この項目は機能しません。

default_font

OPTION DEFAULTFONTの初期値を設定します。

name

OPTION DEFAULTFONTのフォント名を設定します。既定値は"Yu Gothic UI"です。

size

OPTION DEFAULTFONTのフォントサイズを設定します。既定値は20です。

fix_balloon

OPTION FIXBALLOONの初期値を設定します。既定値はfalseです。
0.14.0時点では未実装のため機能しません。

no_stop_hot_key

OPTION NOSTOPHOTKEYの初期値を設定します。既定値はfalseです。
0.14.0時点では未実装のため機能しません。

short_circuit

OPTION SHORTCIRCUITの初期値を設定します。既定値はtrueです。
0.14.0時点では未実装のため機能しません。

opt_public

OPTION OPTPUBLICの初期値を設定します。既定値はfalseです。
0.14.0時点では未実装のため機能しません。

same_str

OPTION SAMESTRの初期値を設定します。既定値はfalseです。
0.14.0時点では未実装のため機能しません。

gui_print

OPTION GUIPRINTの初期値を設定します。既定値はfalseです。
これはUWSCRの新機能で、trueにした場合print文の出力先をコンソールではなくLogPrintウィンドウに対して行います。

force_bool

OPTION FORCEBOOLの初期値を設定します。既定値はfalseです。
これはUWSCRの新機能で、trueにした場合if文などの条件式にてTRUEまたはFALSEを示す式のみ受け付けるようになります。

browser

ブラウザ操作に関する設定です。

chrome

Google Chromeの実行ファイル(chrome.exe)のフルパスを指定します。既定値はnullです。nullが指定された場合は実行ファイルのパスの自動取得を試みます。自動取得による実行ができない場合はこの項目を設定してください。この値が正しく設定されている場合、設定されたパスのchrome.exeを起動します。

msedge

Microsoft Edgeの実行ファイル(msegde.exe)のフルパスを指定します。既定値はnullです。nullが指定された場合は実行ファイルのパスの自動取得を試みます。自動取得による実行ができない場合はこの項目を設定してください。この値が正しく設定されている場合、設定されたパスのmsegde.exeを起動します。

chkimg

chkimgに関する設定です。

save_ss

chkimg実行時に取得するスクリーンショットを保存するかどうかを設定します。既定値はfalseです。trueにした場合、実行スクリプトと同じフォルダにchkimg_ss.pngが保存されます。

logfont

print文を出力するLogPrintウィンドウのフォントの設定を行います。options.gui_print設定、またはOPTION GUIPRINTをスクリプト内でTRUEにした場合のみ適用されます。

name

フォント名を設定します。既定値はMS Gothicです。

size

フォントサイズを設定します。既定値は15です。

$schema

設定ファイルのjsonスキーマのURLです。この項目は変更しないでください。jsonスキーマに対応しているエディタ(例: VSCode)で設定ファイルを開いた場合に各設定項目の説明の表示や入力補助が行われます。

設定ファイルの更新

UWSCRは開発中であるためバージョン更新の際に設定項目が変更されたり、新たに追加されたりする場合があります。このような場合に設定ファイルを更新するためのコマンドが存在しています。

旧設定を引き継ぎつつ新設定を反映

現存する設定ファイルの内容をなるべく保持したまま新たな設定項目を設定ファイルに追加します。

powershell
PS> uwscr --settings merge

設定ファイルを初期化

設定ファイルを初期化します。既存の設定ファイルの内容は破棄されます。

powershell
PS> uwscr --settings init

jsonスキーマファイルの出力

以下のコマンドで指定したディレクトリにスキーマファイル(uwscr-settings-schema.json)が出力されます。

powershell
PS> uwscr --schema C:\path\to\schema\

設定ファイルにはスキーマファイルのURLが記載されているためオフライン環境では利用できません。この場合は上記コマンドでスキーマファイルを出力し、その絶対パスを設定ファイルに記述してください。

出力例
uwscr --schema C:\uwscr\schema\
記入例
{
  // 他項目は省略

  // jsonなので \ はエスケープする必要あり
  "$schema": "C:\\uwscr\\schema\\uwscr-settings-schema.json"
}
0
0
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
0
0