Kiln ドキュメント
ダウンロード

ドキュメントツール

エディターと検索

シンタックスハイライト、言語の自動検出、言語サーバーによる補完と、無視対象のファイルも表示するファイルエクスプローラーを使って、ファイルを開いて編集する方法を説明します。

Kiln では、ターミナルの横でファイルを編集できます。エディターには、シンタックスハイライト、言語サーバーによる補完、ファイルエクスプローラーが備わっています。作業を離れずに、同じワークスペースからファイル、検索、問題を開けます。

デモ用ワークスペースで動かした Kiln
デモ用ワークスペースで動かした Kiln

エディターとツールを開く

ワークスペースインスペクターには、ファイルエクスプローラーを開くファイルがあります。タイトルバーのツールメニューには、ファイル、検索、ソース管理、GitHub、データベース、リモート接続、問題がまとめて並んでいます。いずれかを選ぶと、現在の作業の横に開きます。ウィンドウが狭いときは、作業に戻るでターミナルに戻れます。

ファイルエクスプローラー

エクスプローラーは既定で、.env、.env.prod、ログ、生成されたディレクトリなど、Git で無視されているファイルとフォルダーも表示します。ほかのファイルと同じように、クリックやキーボード操作で開けます。

  • 無視対象の項目は、名前とアイコンが薄く表示され、小さな対象外バッジが付きます。
  • 無視対象の項目にポインタを合わせると、どのルールで除外されているかがわかります。
  • フォルダーは展開したときにだけ読み込まれます。
  • 無視対象のファイルを非表示を選ぶと、一覧から外せます。

無視対象のファイルを表示または非表示にしても、Git の追跡やリポジトリの ignore ルールは変わりません。内部の .git と .DS_Store のメタデータは常に非表示です。

言語の検出

エディターは、同梱の文法定義でファイルをハイライトします。言語はまずファイル名と拡張子から判定し、次に shebang や、JSON ドキュメント、XML、HTML の doctype、PHP のヘッダーなど識別できる内容の特徴から判定します。普通の文章からは言語を推測しません。

検出結果を上書きするには、ドキュメントの上にある言語セレクターを使います。言語(プレーンテキストも選べます)を選ぶか、自動検出に戻します。

  • 選んだ言語は、保存済みのファイルと未保存の変更があるファイルのどちらでも、再起動後も保持されます。
  • スクリプトの shebang を編集したり、Kiln の外で変更されたファイルを再読み込みしたりすると、検出結果が更新されます。
  • 選んだ言語によって、ハイライト、コメント用のコマンド、設定済みの言語サーバーに送られる言語が決まります。

補完

識別子の先頭を入力すると、補完の候補が表示されます。一覧を自分で開くこともできます。

操作 方法
候補を開く ⌃Space、⌥Esc、または補完をクリック
候補を選ぶ 矢印キー
挿入する Enter または Tab
一覧を閉じる Esc
完全な名前と詳細を見る 省略表示された項目にポインタを合わせる

入力メソッド(IME)で文字を変換している間は、入力キーと候補選択キーを IME がそのまま使います。Kiln の補完がそれらのキーを横取りすることはありません。

候補を確定すると、Kiln はサーバーが返した置換内容全体と追加の編集を、1 回で取り消せるひとまとまりの編集として適用します。カーソルを移動した後や、ドキュメントを変更した後に届いた候補は破棄されます。

言語サーバー

インストール済みの言語サーバーが、意味解析に基づく候補を提供します。Kiln には次の言語の既定設定があります。

言語 言語サーバー
Rust rust-analyzer
Go gopls
JavaScript と TypeScript typescript-language-server
Python pyright-langserver または pylsp
C と C++ clangd
Lua lua-language-server

使う言語のサーバーをインストールするだけで、Kiln がそのサーバーを使います。言語、ファイル拡張子、コマンド、引数を変更するには、lsp.json の設定を編集します。

言語サーバーは、通常の PATH に、対応するインストール場所とサーバー自身のフォルダーを加えた環境で起動するため、インタープリター経由で起動するサーバーも動作します。サブプロジェクトが入れ子になったプロジェクトでは、ファイルごとに、最も近くにある認識可能なプロジェクトマーカーが使われます。これによってターミナルやワークスペースの作業ディレクトリが変わることはありません。

言語サーバーがない場合

言語サーバーが接続されていなくても、Kiln は言語の候補または文書内の単語というラベルの付いたローカルの候補を表示します。

  • よく使うキーワード、リテラル、組み込みの名前が言語ごとに同梱されています。JavaScript と TypeScript は別々のリストです。
  • その他の文法では、開いているドキュメント内の一致する単語が候補になります。
  • ローカルの候補は意味解析に基づくものではありません。import、型、ほかのファイルのシンボルは解決しません。
  • 大きなドキュメントでも操作が重くならないよう、スキャンする範囲は制限されています。バイナリモードと大きなファイルのモードでは補完は使えません。

検索と問題

プロジェクト検索と問題の一覧は、タイトルバーのツールメニューにあり、ファイルやソース管理と並んでいます。どちらも現在の作業の横に開くため、ターミナルの作業はそのまま残ります。

リモートファイル

S3、OCI、GCS、R2、FTP、SFTP 上のファイルも、同じエディターで開けます。詳しくはリモートファイルと SSH を参照してください。

Windows

エディターは Windows でも同じように動作します。韓国語 IME の変換と確定は、ターミナルと同様にエディターでも使えます。