0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HeliScriptでもコーディング支援を受ける方法

Last updated at Posted at 2025-03-25

概要

vs code上でC#を使うときには「コード補完」「定義にジャンプ」など様々なコーディング支援を受けることが可能です。
一方、HeliScriptにはそのような環境がまだありません。

そこで、当記事ではHeliScriptコードをC#として強引に認識させることで、HeliScriptでも支援を受ける方法を紹介します。

何ができるようになるか

下記以外にもC#だと出来るようなことが出来るようになります

コード補完

スクリーンショット 2024-05-16 182517-20240516-092517.png

  • . を打った時点で候補がでます
  • メソッドを覚えてなくてもオプションから選ぶだけで良くなります
  • 独自クラスだけでなく、Itemなど既存クラスの補完もできるようにしてます

GoToDefinition

  • F12などで定義にジャンプします
  • メソッドから処理の流れを追いやすくなります
  • ファイルをまたぐ移動も可能です

参照

クラス間メソッド間の関係がわかりやすくなります

アウトラインの表示

どんなクラスか一目でわかるようになります
fce6b4bd-819f-407d-b2b6-4eae999bad57.png

ホバーガイドの表示

定義に飛ばずともその場で詳細を把握できます

変数名など識別子の一括変更

識別子を選択してF2ボタンから変数名を修正することで、全ファイルの変数名が一発で更新されます。リファクタリング時に必須機能といえます。

手順

基本的には.csprojファイルを作成して、settings.jsonを編集するだけで一連のコーディング支援が受けられます。

動作環境

  • ターミナルでdotnet --version を実行しログがでる
  • VSCodeにC#拡張機能がインストールしてある

1. .csprojを作成し編集する

ターミナルでUnityレポジトリのルートに移動し下記コマンドを実行する。

dotnet new console --output . && rm Program.cs

csprojがレポジトリルートに作成されるので、下記のようにItemGroupに.hsまでの相対パスを追記してください。

<Project Sdk="Microsoft.NET.Sdk">
  <ItemGroup>
    <Compile Include="Assets\HeliScript\Hoge.hs" />
    <Compile Include="Assets\HeliScript\(追加したファイル名).hs" />
  </ItemGroup>
...

hsファイルを作成する度に、その.hsパスを追記する必要があります

2.settings.jsonの編集

レポジトリルートに.vscode/settings.jsonがなければ作成し、settings.jsonに下記を追加してください。

{
    "dotnet.server.useOmnisharp": false,
    "files.associations": {
        "*.hs": "csharp"
    },
    "editor.tokenColorCustomizations": {
        "textMateRules": [
            {
                "scope": "entity.name.type",
                "settings": {
                    "foreground": "#569cd6"
                }
            }
        ]
    },
    "workbench.colorCustomizations": { 
      "editorError.foreground": "#212121", 
      "editorWarning.foreground": "#212121", 
      "editorOverviewRuler.errorForeground": "#212121", 
      "list.errorForeground": "#dfdfdf", 
      "list.warningForeground": "#dfdfdf"
    }
}

(3. CodeCompletionフォルダの配置)

下記GithubからCodeCompletionフォルダを取得し、フォルダごとレポジトリのルートに置いてください。
VKCメソッドのサジェストしてくれるようになります。
https://github.com/umezy/VketCloudAutomationTools/tree/main

トラブルシューティング

コード支援されない

C# 拡張機能を一度削除し、再インストールすると治ることがあります

エディタ立ち上げ時のポップアップエラー

「esc」を押せば消えます。xボタンを押すよりは楽に消せます。
スクリーンショット 2024-05-17 120735-20240517-030735 (1).png

componentクラス内でコード補完されない

仕様です。class内のみ対応してます

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?