ユーザ用ツール

サイト用ツール


tutorial:odin:setup-vscode

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
tutorial:odin:setup-vscode [2024/04/07 17:54] freemikantutorial:odin:setup-vscode [2024/08/19 20:15] (現在) freemikan
行 9: 行 9:
 インストールが完了したら、''Ctrl+Shift+P'' → ''Developer: Reaload Window''などでリロードしておきます。これで拡張子が''.odin''のファイルを開いたときにシンタックスハイライトが有効になります。 インストールが完了したら、''Ctrl+Shift+P'' → ''Developer: Reaload Window''などでリロードしておきます。これで拡張子が''.odin''のファイルを開いたときにシンタックスハイライトが有効になります。
  
-====== インデントの設定 ======+===== インデントの設定 =====
  
-Odinはインデントにタブ文字を使用するのが好まれます。VSCodeのデフォルトはスペース文字を使用するようになっているので、Odinのソースファイルのみタブ文字を使うように変更しておきます。+Odinはインデントにタブ文字を使用するのが好まれます。VSCodeのデフォルトはスペース文字を使用するようになっているので、Odinのソースファイルの編集でのみタブ文字を使うように変更しておきます。
  
-====== olsを使えようにする ======+VSCodeの設定ファイルであ''settings.json''を開きま。''settings.json''を開くには、''Ctrl+,''で//Settings//を表示して、右上にあ//Open Settings (JSON)//のアイコンをクリックします。
  
-olsという名前のOdinのLanguage Serverも開発されています。VSCodeでも利用可能で、コード補完やシンボル定義へのジャンプなどが使えるようになります。olsはソースコードからビルドする必要があります。+{{:tutorial:odin:vscode-open-settings-json.png?400|VSCode Open Settings (JSON)}} 
 + 
 +''settings.json''に、次の''"[odin]"''の項目を追加します。 
 + 
 +<file json> 
 +
 +    "既存の項目":
 +        ... 
 +    }, 
 +    "[odin]":
 +        "editor.tabSize": 4, 
 +        "editor.insertSpaces": false 
 +    } 
 +
 +</file> 
 + 
 +JSONのルールとして、最後の項目であれば'',''をつけないこと、中間の項目であれば'',''をつけなければならないことに注意してください。変更ができたら''settings.json''を保存します。 
 + 
 +今度はプロジェクトのフォルダの中に、拡張子が''.odin''のファイルを新規作成します。このファイルでTABキーをタイプしたとき、スペース文字ではなく、タブ文字が一つだけ挿入されるようになっていることを確認します。 
 + 
 +VSCodeの設定にもよりますが、既存の''.odin''ファイルを開いたとき、そのファイルがすでにスペース文字でインデントされている場合、それが尊重されてスペース文字でのインデントになることに注意してください。この場合、一度インデントをすべて削除してから、ファイルを開き直すなどしてからインデントし直す必要があります。 
 + 
 +===== olsを使えるようにする ===== 
 + 
 +[[https://github.com/DanielGavin/ols|ols]]という名前のOdinのLanguage Serverも開発されています。olsはVSCodeでも利用可能で、コード補完やシンボル定義位置へのジャンプなどが使えるようになります。 
 + 
 +olsはソースコードからビルドする必要があります。Odinで書かれているので、Odinのインストールが完了していれば簡単にビルドできます。 
 + 
 +<cli> 
 +$ git clone https://github.com/DanielGavin/ols.git 
 +$ cd ols 
 +$ ./build.sh 
 +</cli> 
 + 
 +問題がなければ''ols''という実行ファイルが生成されているので、それを適当な場所にコピーしておきます。 
 + 
 +<cli> 
 +$ cp ols ~/bin/ 
 +</cli> 
 + 
 +VSCodeの''settings.json''に、''ols.server.path''という名前の項目を追加します。値は''ols''のフルパスにします。 
 + 
 +<file json> 
 +
 +    既存の項目.., 
 +    "ols.server.path": "/home/<username>/bin/ols", 
 +    既存の項目... 
 +
 +</file> 
 + 
 +VSCodeを再起動して、Odinのソースコードを含むフォルダ開くと「olsの設定ファイルがないので作成しますか?」という旨のポップアップが表示されます。ここで「はい」を選択すると、プロジェクトのフォルダに''ols.json''というファイルが作成されます。このファイルがなければolsは動作しないので作成しておきます。 
 + 
 +{{:tutorial:odin:vscode-odin-ols-json.png?400|VSCode ols create ols.json}} 
 + 
 +作成される''ols.json''の内容は次のようになっています。 
 + 
 +<file json> 
 +
 +    "$schema": "https://raw.githubusercontent.com/DanielGavin/ols/master/misc/ols.schema.json", 
 +    "enable_document_symbols": true, 
 +    "enable_hover": true, 
 +    "enable_snippets": true 
 +
 +</file> 
 + 
 +手作業でこの内容のファイルを作成しても問題ありません。これらはolsの動作を調整するもので、他にもいくつかオプションがあります。必要であれば[[https://github.com/DanielGavin/ols?tab=readme-ov-file#Configuration|ドキュメント]]を参照してください。 
 + 
 +この状態で拡張子が''.odin''であるOdinのソースコードを開くと、コード補完、シンボルの定義位置へのジャンプ、ソースコードのフォーマット (Ctrl+Shift+I)などが使えるようになっています。 
 + 
 +もし環境変数''ODIN_ROOT''が設定されていないと、//core//や//vendor//といったOdinに付属するライブラリを認識しませんので、設定しておきます。Bashを使用しているのであれば、''.bashrc''などシェルの初期化ファイルに次の1行を追加します。 
 + 
 +<file bash> 
 +export ODIN_ROOT=$HOME/.Odin  # ご自身のOdinのソースディレクトリへのパスに置き換えてください 
 +</file> 
 + 
 +ここまで設定すると、Odinに付属するライブラリに対しても補完やジャンプが機能するようになります。例えば、''fmt.''とタイプすると、fmtに含まれる関数の候補が表示されます。 
 + 
 +{{:tutorial:odin:vscode-odin-ols-complement-fmt.png?400|}} 
 + 
 +また、Ctrlキーを押しながら関数名をクリックすることで、その関数の定義位置にジャンプすることもできます。
  
tutorial/odin/setup-vscode.1712480078.txt.gz · 最終更新: 2024/04/07 17:54 by freemikan

特に明示されていない限り、本Wikiの内容は次のライセンスに従います: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki