orukRed / tyranosyntax

vscodeで動くティラノスクリプト言語サポート拡張機能です。
https://orukred.github.io/TyranoScriptSyntax.html
MIT License
13 stars 3 forks source link

TyranoScript_syntax

ティラノスクリプトでのゲーム開発のサポートを行う拡張機能です。

使い方

vscodeのファイルフォルダーを開くから、 ティラノスクリプトのindex.html が存在するフォルダを選択してください。 その後、.ks拡張子のファイルを開いたタイミングで TyranoScript syntaxの初期化が完了しました。と通知が出れば拡張機能が正常に読み込まれています。 ※構文の強調表示など、一部の機能は上記手順を踏まなくても使用できます。

機能

構文の強調表示(Syntax Highlighting)

タグやラベルなどの構文が強調表示されます。 画像はMonokai Dimmedの場合です。

タグ補完(Completion)

Ctrl + Spaceでタグやパラメータ、変数、ラベル、ファイルパス、chara_newタグで指定したnameやface、chara_layerタグで指定したpartやid等の補完ができます。 macroタグやjsで定義したタグについても補完ができます。

プラグイン/マクロのパラメータ補完(β版)

[!WARNING] この機能は今後変更されたり削除されたりする可能性があります。

setting.jsonTyranoScript syntax.plugin.parameterを変更することで、プラグインやマクロで用いるパラメータの補完ができます。

以下の点にご注意ください。

下記を参考にし、setting.jsonに追加してご利用ください。 (基本的に大文字の箇所とdescriptionの値を変更することで動きます。)

"TyranoScript syntax.plugin.parameter": {
    "PLUGIN_NAME1": {
      "name": "PLUGIN_NAME1",
      "description": "プラグインの説明文です。",
      "parameters": [
        {
          "name": "PARAMETER1",
          "required": true,
          "description": "parameterサンプルです。ここに説明文を書いてください。"
        },
        {
          "name": "PARAMETER2",
          "required": true,
          "description": ""
        }
      ]
    }
  }

例として、ティラノスクリプト公式より配布されているダイスロールプラグインの場合以下のようになります。

  "TyranoScript syntax.plugin.parameter": {
    "dice": {
      "name": "dice",
      "description": "ゲーム中でダイスを振ることができるようになります。対応ダイスは 2,3,4,6,8,10,12,20,100面ダイスです。",
      "parameters": [
        {
          "name": "roll",
          "required": true,
          "description": "実際にふるダイスを指定します(必須)。複数指定する場合は「,」カンマで区切ってください。例えば6面ダイス2個と3面ダイス1個を振りたい場合は「6,6,3」と指定できます。また「2d6,1d3」のような書き方も可能です。"
        },
        {
          "name": "result",
          "required": false,
          "description": "ダイス結果を指定できます。例えばrollで「6,6,6」と指定してresultに「1,2,3」とした場合ダイス目がそのとおりになり合計6になります。指定しない場合はランダムな数字になります。"
        },
        {
          "name": "output",
          "required": false,
          "description": "ダイス結果を格納する変数を指定できます。例えば「f.dice_result」のようにしておくことで結果を変数に格納することができます。"
        },
        {
          "name": "output_array",
          "required": false,
          "description": "ダイス結果について、個々のダイス目を格納する変数を指定できます。例えば3d6を降った場合に4,2,6 といった感じの配列が格納されます。"
        },
        {
          "name": "layer",
          "required": false,
          "description": "ダイスを表示するレイヤを指定できます。デフォルトは0"
        },
        {
          "name": "scale",
          "required": false,
          "description": "ダイスの大きさを指定できます。デフォルトは1.5。ゲームの画面サイズによって適切な値は変わってきますので適宜調整をお願いします。"
        },
        {
          "name": "skiproll",
          "required": false,
          "description": "trueを指定するとダイスをふる演出をスキップできます。結果だけが変数に格納されます。デフォルトはfalse。"
        },
        {
          "name": "min_left",
          "required": false,
          "description": "ダイスが転がる範囲の左端を指定します。中央からの相対距離を指定します。デフォルトは-450。"
        },
        {
          "name": "max_left",
          "required": false,
          "description": "ダイスが転がる範囲の右端を指定します。中央からの相対距離を指定します。デフォルトは150。"
        },
        {
          "name": "min_top",
          "required": false,
          "description": "ダイスが転がる範囲の上端を指定します。中央からの相対距離を指定します。デフォルトは-150。"
        },
        {
          "name": "max_top",
          "required": false,
          "description": "ダイスが転がる範囲の下端を指定します。中央からの相対距離を指定します。デフォルトは50。"
        }
      ]
    },
    "dice_hide": {
      "name": "dice_hide",
      "description": "画面上のダイスを非表示にします。timeパラメータは消える時間をミリ秒で指定できます。",
      "parameters": [
        {
          "name": "time",
          "required": false,
          "description": "パラメータが消える時間をミリ秒で指定できます。"
        }
      ]
    }
  }

アウトライン表示(Outline)

ラベルや変数、一部のタグがアウトラインビューに表示されます。 現在アウトラインタグで表示されるタグは以下です。(設定のTyranoScript syntax.outline.tagから変更可能)

診断機能(Diagnostics)

設定からAutoDiagnosticがONをしている場合、文字入力時にエラーを検出します。 現在検出できるエラーは以下です。

ドキュメントツールチップ表示(Hover)

画像ツールチップ表示(Hover image)

タグにマウスを乗せるとドキュメントが表示されます。

タグのショートカット入力(Snippets)

一部のタグ、記号はショートカットキーで入力できます。

入力する文字を変更したい場合は設定のTyranoScript syntax.keyboard.alt + enter(option + enter)等から変更してください。

ジャンプ先へ移動(Go To Jump)

alt + J(option + J)でjumpなどのタグで指定したstorage,target先へとジャンプできます。

定義へ移動(Go To Definition)

F12を押したとき、マクロタグで定義した箇所へジャンプできます。

プレビュー機能(β版)

ctrl + alt + Pでプレビューを開くことができます。 将来的に現在開いているアクティブエディタのその場プレビュー機能に置き換える予定です。

[!WARNING] ポート番号3100を使用しています。他のアプリケーションで使用している場合にはご注意ください。 また、この機能は今後変更されたり削除されたりする可能性があります。

フローチャート表示

ctrl + alt + Fで現在開いているファイルのフローチャートを表示することができます。 ブラウザでlocalhost:3200/flowchart-list.htmlにアクセスすることシナリオ一覧へのリンクが表示されます。 フローチャートを見たいファイルのリンクをクリックしてください。

[!WARNING] ポート番号3200を使用しています。他のアプリケーションで使用している場合にはご注意ください。

設定ファイルについて

TyranoScript_syntaxの一部機能は設定ファイルから変更を行うことができます。 特にマクロタグやjsから定義したタグの補完やファイルジャンプを行う場合、設定ファイルを見直してください。

Release Notes

変更点については以下のリンクをご確認ください。 CHANGELOG.md

issues

バグ報告や機能追加の要望お待ちしております! 以下のいずれかの方法で報告をお願いします。

免責事項

本ツールを利用したことによって損害・不利益・事故等が 発生した場合でも、一切の責任を負いません。