エディタ設定
シンタックスハイライト、型チェック、オートコンプリートを備えたエディタを設定して、最高のT-Ruby開発体験を得ましょう。
VS Code
VS Codeは最も完全なT-Ruby開発体験を提供します。
拡張機能のインストール
- VS Codeを開く
- 拡張機能に移動(
Cmd+Shift+X/Ctrl+Shift+X) - "T-Ruby"を検索
- インストールをクリック
またはコマンドラインからインストール:
code --install-extension t-ruby.t-ruby
機能
VS Code拡張機能が提供するもの:
.trbおよび.d.trbファイルのシンタックスハイライト- リアルタイム診断 - 入力中に型エラーを表示
- 型情報付きオートコンプリート
- 型を表示するホバー情報
- 関数とクラスの定義へジャンプ
コマンド
拡張機能が提供するコマンド(コマンドパレットからアクセス可能):
- T-Ruby: Compile Current File - 現在の
.trbファイルをコンパイル - T-Ruby: Generate Declaration File -
.d.trb宣言ファイルを生成 - T-Ruby: Restart Language Server - LSPサーバーを再起動
設定
拡張機能はプロジェクトルートのtrbconfig.ymlからプロジェクト設定を読み込みます。エディタ固有の設定はVS Code設定(settings.json)で構成できます:
{
// trcコンパイラのパス(PATHにない場合)
"t-ruby.lspPath": "trc",
// Language Server Protocolサポートを有効化
"t-ruby.enableLSP": true,
// リアルタイム診断を有効化
"t-ruby.diagnostics.enable": true,
// オートコンプリート候補を有効化
"t-ruby.completion.enable": true
}
出力ディレクトリや厳格度レベルなどのコンパイルオプションは、VS Code設定ではなくtrbconfig.ymlで構成してください。これにより、すべてのエディタとCI/CDパイプラインで一貫した動作が保証されます。
推奨拡張機能
最高のRuby/T-Ruby体験のために、以下もインストール:
- Ruby LSP - 一般的なRuby言語サポート
- Ruby Solargraph - 追加のRubyインテリジェンス
- Error Lens - インラインエラー表示
Neovim
T-Rubyはt-ruby-vimプラグインを通じて公式Neovimサポートを提供します。
インストール
お好みのプラグインマネージャーを使用:
{
'type-ruby/t-ruby-vim',
ft = { 'truby' },
}
Plug 'type-ruby/t-ruby-vim'
LSP設定
プラグインは組み込みLSP設定を提供します:
require('t-ruby').setup()
またはカスタムオプション付き:
require('t-ruby').setup({
cmd = { 'trc', '--lsp' },
on_attach = function(client, bufnr)
-- on_attach関数
local opts = { buffer = bufnr }
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts)
vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts)
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, opts)
end,
})
コマンド
LSP設定後、以下のコマンドが使用可能:
:TRubyCompile- 現在のファイルをコンパイル:TRubyDecl- 宣言ファイルを生成:TRubyLspInfo- LSPステータスを表示
coc.nvimの使用
coc-settings.jsonに追加:
{
"languageserver": {
"t-ruby": {
"command": "trc",
"args": ["--lsp"],
"filetypes": ["truby"],
"rootPatterns": ["trbconfig.yml", ".git/"]
}
}
}
推奨プラグイン
- nvim-lspconfig - LSP設定
- nvim-cmp - オートコンプリート
- lspsaga.nvim - 拡張LSP UI
Vim
T-Rubyはt-ruby-vimプラグインを通じて公式Vimサポートを提供します。
インストール
Plug 'type-ruby/t-ruby-vim'
または手動でクローン:
git clone https://github.com/type-ruby/t-ruby-vim ~/.vim/pack/plugins/start/t-ruby-vim
機能
.trbおよび.d.trbファイルのシンタックスハイライト- ファイルタイプ検出
カスタムキーマッピング
autocmd FileType truby nnoremap <buffer> <leader>tc :!trc %<CR>
autocmd FileType truby nnoremap <buffer> <leader>td :!trc --decl %<CR>
JetBrains IDE(RubyMine、IntelliJ)
T-Rubyはt-ruby-jetbrainsを通じて公式JetBrainsプラグインサポートを提供します。
プラグインのインストール
- Settings/Preferencesを開く
- Plugins → Marketplaceに移動
- "T-Ruby"を検索
- Installをクリックし、IDEを再起動
機能
プラグインが提供するもの:
.trbおよび.d.trbファイルのシンタックスハイライト- LSP経由のリアルタイム診断
- 型情報付きオートコンプリート
- 定義へジャンプ
設定
プラグインはtrbconfig.ymlからプロジェクト設定を読み込みます。エディタ固有の設定はSettings → Tools → T-Rubyで構成できます:
- trcパス - T-Rubyコンパイラのパス(デフォルト:
trc) - LSPを有効化 - Language Server Protocolサポートを有効化
- 診断を有効化 - リアルタイム診断を有効化
- 補完を有効化 - コード補完を有効化
VS Codeと同様に、コンパイルオプションはIDE設定ではなくtrbconfig.ymlで構成してください。
Sublime Text
Sublime Textサポートは計画中ですが、まだ利用できません。.trbファイルをRubyとして扱うことで、汎用シンタックスハイライトを使用できます。
一時的な設定
Rubyハイライトを使用するには、Sublime Text設定に追加:
{
"file_associations": {
"*.trb": "Ruby"
}
}
Emacs
Emacsサポートは計画中ですが、まだ利用できません。基本的なシンタックスハイライトにはruby-modeを使用できます。
一時的な設定
(add-to-list 'auto-mode-alist '("\\.trb\\'" . ruby-mode))
LSPサポートには、T-Rubyコンパイラで設定:
(use-package lsp-mode
:ensure t
:config
(lsp-register-client
(make-lsp-client
:new-connection (lsp-stdio-connection '("trc" "--lsp"))
:major-modes '(ruby-mode)
:server-id 't-ruby-lsp)))
言語サーバー(LSP)
T-Rubyコンパイラには、任意のLSP互換エディタで使用できる組み込み言語サーバーが含まれています。
LSPサーバーの実行
trc --lsp
LSPサーバーはJSON-RPC形式でstdin/stdoutを通じて通信します。
機能
| 機能 | サポート |
|---|---|
| エラー診断 | 完全 |
| ホバー情報 | 完全 |
| 定義へジャンプ | 完全 |
| オートコンプリート | 完全 |
| 参照の検索 | 計画中 |
| コードフォーマット | 計画中 |
| リネーム | 計画中 |
汎用LSP設定
上記にリストされていないエディタの場合、LSPクライアントを以下を実行するように設定:
trc --lsp
トラブルシューティング
拡張機能が動作しない
- T-Rubyがインストールされているか確認:
trc --version - エディタを再起動
- 拡張機能/プラグインのログを確認
シンタックスハイライトがない
- ファイルが
.trb拡張子を持っているか確認 - エディタ設定でファイルタイプの関連付けを確認
- シンタックス拡張機能を再インストール
LSPに接続できない
trcがPATHにあるか確認:which trc- LSPモードが動作するか確認:
trc --lsp(入力待ちになるはず) - エディタLSPログでエラーを確認
型チェックが遅い
- リアルタイムチェックの代わりに「保存時チェック」を使用
trbconfig.ymlでvendorおよびnode_modulesディレクトリを除外
次のステップ
エディタが設定できたら、学習を続けましょう: