コンテンツにスキップ

ファイルツリー&プレビュー

ファイルを開く・読む・直すが、ターミナルの隣のペインで済みます。言語サーバ(LSP)も tako が取ってくるので、入れたその日から補完とエラーの波線が出ます。スクロールすると、画面がその手順の状態に変わります。

  1. ペインのいるフォルダが、そのままツリーに

    左のファイルツリーには、そのタブのペインがいる作業フォルダが自動で並びます。フォルダを選び直す手間はありません。

  2. 押すと、右にプレビューが開く

    ファイルを押すと、ペインが右に分かれて中身が開きます。.md は見出しや表を描いた姿で開き、目のアイコンでコードとしての表示に切り替えられます。

  3. 次のファイルも、同じペインで

    別のファイルを押すと、さっきのプレビューがそのファイルに替わります。コードは行番号つきで色分けされ、ペインが積み上がりません。

  4. AI が書き換えたら、すぐ反映

    表示中のファイルが外で書き換わると、tako が読み直します。AI が直したコードを、開き直さずにその場で確かめられます。

  1. 開いたファイルは、その場で直せる

    プレビューは読むだけの画面ではありません。ちょっとした直しのために、別のエディタを開く必要はありません。

  2. 「編集」を押すと、書ける状態に

    ペインの上の「編集」を押すと「編集中」に変わり、カーソルが出ます。取り消しや、ファイルの中の検索・置換もそのまま使えます。

  3. 打つと、未保存の印が付く

    書き換えるとファイル名の横に ● が付き、まだ保存していないことが分かります。

  4. 手を止めると、自動で保存

    打つのをやめて半秒ほどで「保存済」に変わります。自動保存は最初から有効です。

    編集中に外でファイルが書き換わっても、黙って上書きはしません。保存していない変更があるときは、差分を見てどちらを採るか選べます。

  1. 編集を始めると、言語サーバを取りに行く

    コードを編集モードにすると、そのファイルに合う言語サーバ(.py なら pyright)を起こします。入っていなければ tako が取ってきます。進み具合はペインの上に出ます。

    版を固定して、配布元が公開しているハッシュで確かめてから置きます。npm や Homebrew は使わず、PATH も書き換えません。

  2. 動き出したら、間違いに波線

    言語サーバが動き出すと、間違いに波線が引かれます(エラーは赤、警告は黄)。右パネルの diagnostics に、同じ一覧が並びます。

  3. 一覧から、その場所へ

    一覧の行を押すと、そのペインのその位置へ移ります。AI も tako lsp diagnostics で同じ一覧を読めるので、エラーを見ながら直してもらえます。

    言語サーバの機能は macOS 版で使えます。Windows 版は試験用のサーバでは確かめていますが、実際の言語サーバでの確認がまだです。

  1. 打つと、候補が出る

    cfg. と打つと、語の頭の真下に候補が並びます。左の印は種類(v は変数、f は関数)で、右に型が出ます。↑ ↓ で選んで Enter か Tab で確定します。

  2. 乗せると、型と説明のカード

    関数や変数にマウスを乗せると、少し置いて型と説明のカードが出ます。定義を開かなくても、何を渡せば何が返るかが分かります。

  3. ⌘クリックで、定義へ

    ⌘ を押しながら乗せると下線が付き、そのまま押すと定義へ飛びます。別のファイルなら、右に新しいペインで開きます。右クリックからは参照の検索や呼び出し元の一覧も出せます。

    言語サーバの機能は macOS 版で使えます。Windows 版(Ctrl+クリック)は実際の言語サーバでの確認がまだです。

  1. ⇧⌘F で、右に検索欄

    ⇧⌘F(Windows は Ctrl+Shift+G)で右パネルに検索欄が開きます。探す範囲は、そのタブのファイルツリーのフォルダです。

  2. Enter で、全部のファイルから

    語を入れて Enter を押すと、ファイルごとに一致した行が並びます。.gitignore の対象とバイナリは探しません。大文字と小文字は区別せず、Aa と .* で区別・正規表現に切り替えられます。

  3. 押すと、その行が開く

    結果の行を押すと、そのファイルのその行が開きます。開いているペインがあればそこへ、無ければ右に新しいペインで開きます。AI も tako search で同じように探せます。

ファイルツリー・プレビュー・編集と自動保存・横断検索・ファイルの実行(Code Runner)は、Windows 版でも使えます。次のものはまだです。最新の状況は Windows 対応状況 にあります。

  • まだ 言語サーバ(LSP)の診断・補完・定義へ移動 試験用のサーバでは確かめていますが、Windows 実機で実際の言語サーバと動かした確認がまだです。
  • まだ 動画の再生 動画のデコーダの Windows 版が無く、動画ファイルは開けません。
  • 一部 エクスプローラーの「プログラムから開く」 tako はまだ候補に出ません。tako のファイルツリーから開くか、tako open コマンドを使ってください。
  • 一部 PDF 表示はできますが、文字の選択・目次・PDF 内のリンクは使えません。

ここから先は、操作ごとの詳しい説明です。

ファイルツリー(左サイドバー)

Section titled “ファイルツリー(左サイドバー)”

左サイドバーにファイルツリーを表示できます。

  • Cmd+B またはステータスバーのトグルボタンで表示/非表示
  • タブ内の全ペインの作業ディレクトリをワークスペースフォルダとして自動検出・表示
  • ファイルをクリックするとプレビューペインで開く
  • AI が tako tree add で作業対象のフォルダを明示的に追加することもできます

.git や .env のようなドット始まりの項目は、既定では隠れています。見出しの目アイコン、右クリック、設定画面の「外観」、または次のコマンドで切り替えられます。

Terminal window
tako panel --show-hidden on
tako panel --show-hidden off

git リポジトリの中では、変更のあるファイルが色とバッジで分かります。VSCode / Zed と同じ考え方で、コミット前の取りこぼしをツリーを見るだけで拾えます。

見え方意味
黄色 + M変更あり
緑 + U新規(未追跡)
緑 + A新規をステージ済み
赤 + D削除
紫 + Rリネーム
赤 + !コンフリクト(未解決)
薄いグレー.gitignore 対象(バッジなし)

バッジは git 自身の git status --short と同じ 2 桁の読み方です。左がステージ済み(緑)・右が未ステージなので、MM は「一度ステージしたあとにさらに書き換えた」ことを表します。

フォルダには配下の変更件数が出ます。折りたたんだままでも「このフォルダの中に何件ある」が見えるので、ワークスペースフォルダの見出し行を見れば、そのプロジェクトに未コミットが残っているかがひと目で分かります。

git 管理外のフォルダでは何も表示されません(色も従来のままです)。

AI からは同じ表を次のコマンドで読めます。

Terminal window
tako tree git-status # タブのワークスペースフォルダ全部
tako tree git-status ~/Documents/webapp # フォルダを 1 つに絞る

コンテキストメニュー(右クリック)

Section titled “コンテキストメニュー(右クリック)”

ファイルやフォルダを右クリックするとメニューが表示されます。

  • パスをコピー — ファイルパスをクリップボードにコピー
  • Finder で表示 — Finder でファイルの場所を開く
  • ここで cd — アクティブペインのカレントディレクトリを変更
  • 名前を変更 — インライン入力でリネーム
  • 新しいファイル / フォルダ — その場で新規作成
  • ゴミ箱に入れる — ファイルを macOS のゴミ箱に移動

ファイルツリーからペインエリアへドラッグすると:

  • ターミナルペインにドロップ → ファイルパスをテキストとして入力
  • プレビューペインにドロップ → そのファイルをプレビュー表示

ファイルやフォルダをツリーの中のフォルダへドラッグすると、そのフォルダへ移動します(ファイルの行の上で離すと、そのファイルのあるフォルダへ)。

  • 落とし先のフォルダは枠で囲まれ、「ここへ移動」と表示されます
  • 移せない場所では赤い枠と理由が出ます(同じ名前がある / フォルダを自分の中へ / 別のボリューム / リモートの項目 / ワークスペースのフォルダの見出し)。同じ名前のファイルを上書きすることはありません(移す瞬間にほかのアプリが同じ名前のファイルを作った場合も、上書きせずに理由を出して止まります)
  • 移したファイルを開いているペインは、新しい場所へそのまま付いていきます。保存していない変更も残ります
  • 「最近使った項目」に入っているフォルダ(やその中のフォルダ)を移すと、項目も新しい場所を指すように付け替わります

同じ操作はコマンドからもできます: tako file move <移すもの> <移動先のフォルダ>

ツリーの行を押して選び、Finder やエクスプローラーと同じキーで扱えます(右クリックメニューの「切り取り」「コピー」「貼り付け」も同じです)。

操作macOSWindows
コピー⌘CCtrl+C
切り取り⌘XCtrl+X
貼り付け⌘VCtrl+V
  • 貼り付け先: フォルダの行ならその中、ファイルの行ならそのファイルのあるフォルダ。コピーしたもの自身の行で貼ると、同じフォルダに複製します
  • 同じ名前は上書きしません。Finder と同じく「名前 のコピー」「名前 のコピー 2」…の名前で置きます(Windows はエクスプローラーと同じ「名前 - コピー」「名前 - コピー (2)」)
  • フォルダは中身ごと写ります(権限もそのまま。シンボリックリンクはリンクのまま)。読めないファイルがあるなど途中で失敗したときは、途中まで写したものを残しません
  • 切り取り → 貼り付けは移動です。切り取り中の行は薄く表示され、移したファイルを開いているペインは新しい場所へ付いていきます
  • Finder / エクスプローラーと行き来できます。tako でコピーしたファイルを Finder へ貼れ、Finder でコピーしたファイルをツリーへ貼れます
  • 選んだ行の枠は、ペインを押す・ほかのキーを打つ・Esc で外れます(そのあとの ⌘C / ⌘V はターミナルのコピー・貼り付けに戻ります)
  • 自分の中へのコピー・リモート(SSH)の項目などはできません。理由はツリーの上に出ます

同じ操作はコマンドからもできます:

Terminal window
tako file copy notes.md docs # 複製(コピー → 貼り付けと同じ)
tako file clipboard copy notes.md # コピー(Finder へも貼れる)
tako file clipboard cut notes.md # 切り取り
tako file paste docs # 貼り付け
tako file clipboard # いまの中身と貼り付け先を見る

複数選択・移動として貼る・コピーの進み具合

Section titled “複数選択・移動として貼る・コピーの進み具合”

Finder や VS Code と同じく、ツリーの行は複数選べます。選んだものはまとめてコピー・切り取り・ゴミ箱へ移動・ドラッグできます。

操作macOSWindows
行を足す / 外す⌘+クリックCtrl+クリック
範囲を選ぶ⇧+クリックShift+クリック
選んだ行を 1 行ずつ動かす↑ / ↓↑ / ↓
フォルダを畳む・親へ / 開く・中へ← / →← / →
開く(クリックと同じ)EnterEnter
範囲を 1 行ずつ伸ばす / 縮める⇧↑ / ⇧↓Shift+↑ / Shift+↓
範囲を先頭 / 末尾まで伸ばす⇧⌘↑ / ⇧⌘↓Shift+Ctrl+Home / Shift+Ctrl+End
選んだものをゴミ箱へ⌘⌫Delete
移動として貼る⌥⌘VCtrl+Alt+V
  • 修飾キーを押しながらのクリックは選ぶだけです(ファイルは開かず、フォルダも開閉しません)
  • 選んだ行の上で右クリックすると、「切り取り」「コピー」「削除(ごみ箱)」が選んだもの全部に効きます(件数が添えられます)
  • 選んだ行の 1 つを掴んでフォルダへ落とすと、選んだもの全部が移ります
  • フォルダとその中のファイルを同時に選んだときは、フォルダごと扱います(中のファイルを 2 回写したりしません)
  • 移動として貼る(⌥⌘V / 右クリックの「項目をここに移動」)は、コピーしたものを Finder の「項目をここに移動」と同じく移します。同じ名前がある場所・自分の中へは移しません
  • ↑ / ↓ は選んだ行を 1 行ずつ動かします(ファイルは開きません。端では止まります)。← は開いたフォルダを畳み、ファイルや畳んだフォルダでは親のフォルダへ上がります。→ は畳んだフォルダを開き、開いたフォルダでは最初の中身へ下ります。Enter はクリックと同じです(ファイルを開く・フォルダを開閉)
  • ⇧↑ / ⇧↓ は最後に選んだ行から 1 行ずつ範囲を伸ばします(逆へ押すと縮みます)。⇧⌘↑ / ⇧⌘↓(Windows は Shift+Ctrl+Home / End)は先頭 / 末尾まで一度に伸ばします。⌘⌫(Windows は Delete)は選んだもの全部をゴミ箱へ入れます。どれも行を選んでいる間だけ効き、選んでいなければターミナルへ届きます。ワークスペースのフォルダ(見出し)はキーではゴミ箱へ入れません。Windows の Shift+Delete(ゴミ箱を通らない削除)はツリーでは扱わず、ターミナルへ届きます
  • 大きなフォルダをコピーすると、ツリーの上に件数とバイトの進み具合が出ます。「取り消し」を押すと、写しかけのものを残さずに止まります(写し終えたものは残ります)。巨大な 1 つのファイルでも途中で止まり、写し始めて数秒経つと残り時間の目安も出ます。目安は一定の速さなら行き来せずに減っていき、コピーが止まるとその分だけ延びます
  • 同じボリュームの中のコピーは、Finder と同じく OS の複製(APFS の clone)で一瞬で終わります

同じ操作はコマンドからもできます:

Terminal window
tako file clipboard copy a.md b.md # まとめてコピー
tako file move a.md b.md docs # まとめて移す(最後が移動先)
tako file trash a.md b.md # まとめてゴミ箱へ
tako file paste --move docs # 移動として貼る
tako file copy a.md b.md docs # まとめて複製(1 つのコピーとして進み具合・取り消しが効く)
tako file progress # 走っているコピーの進み具合(eta_secs = 残り時間の目安)
tako file cancel # 走っているコピーを取り消す
tako tree selection # ツリーで選んでいる行を見る
tako tree selection --key down # ↓ を押したのと同じ(up / left / right / enter / extend_* も)

ファイルをクリックまたは tako open <ファイルパス> で、ペイン内にファイル内容を表示します。

  • シンタックスハイライト: 210+ の言語・形式に対応(bat 由来の拡張構文セット)
  • 行番号表示: 行番号付きのコードビュー
  • 折り返し: 長い行は自動折り返し(横スクロール不要)
カテゴリ対応形式
システム言語Rust, C, C++, Go, Swift, Kotlin, Java, C#, Objective-C, Scala, Haskell, D
組み込みArduino のスケッチ (.ino。C++ として色分け)
Web / スクリプトJavaScript (.js/.jsx/.mjs), TypeScript (.ts/.tsx), Python, Ruby, PHP, Lua, Perl, HTML, CSS
シェルBash (.sh/.bash/.zsh), Fish
データ形式JSON, TOML, YAML, XML, INI, CSV, DotENV (.env)
ドキュメントMarkdown, LaTeX, reStructuredText
ビルド / 設定Dockerfile, Makefile, CMake, SQL, Diff/Patch
その他Git Ignore, Git Attributes, AppleScript, R, Clojure, Erlang, Groovy, nginx.conf 等

拡張子に加え、ファイル名でも判定します(例: Cargo.lock → TOML, Dockerfile → Dockerfile, CMakeLists.txt → CMake, .gitignore → Git Ignore)。shebang(#!/bin/bash 等)による自動検出にも対応しています。Markdown のコードブロックも同じ構文で塗り、```ino / ```arduino は C++ として扱います。

Finder の「このアプリケーションで開く」

Section titled “Finder の「このアプリケーションで開く」”

Finder でファイルを右クリックし、「このアプリケーションで開く」から tako を選ぶと新しいタブで開きます。tako が既定のアプリを奪うことはありません(候補に並ぶだけです)。

候補に tako が出るのは、macOS がその拡張子の種類を知っている形式(.c .py .md .json .yaml・画像・PDF・動画など)です。.rs .go .toml .ino のように macOS が種類を持たない拡張子には出ません。出すように宣言すると、ほかにその拡張子を開くアプリが入っていない Mac で tako が勝手に既定のアプリになってしまうためです。これらは tako のファイルツリーか tako open <ファイル> で開いてください。

Windows のエクスプローラーの「プログラムから開く」には、まだ tako が出ません。

.md ファイルはデフォルトでレンダリング表示されます。

  • 見出し・リスト・テーブル・コードブロック・引用をビジュアル表示
  • タイトルバーの目アイコンで コード表示 ⇔ Markdown 表示を切替可能
  • 切替モードは CLI / MCP からも操作可

コードと Markdown 以外のファイルも開けます。表示モードは拡張子から自動判定されます。

  • 画像: PNG / JPEG / SVG / GIF / WebP など。25〜400% のズームとパンに対応
  • PDF: ペイン内でそのまま表示。テキストの選択・コピー、目次からのジャンプ、内部リンクや外部 URL の Cmd+クリックにも対応します(Windows 版は表示だけで、文字の選択・目次・PDF 内のリンクはまだ使えません)
  • 動画: mp4 の再生・一時停止・シーク(矢印キーやクリックで操作。CLI tako video / MCP からも制御可)。macOS 版のみで、Windows 版はまだ再生できません
Terminal window
tako preview # 現在のズーム・ページ状態
tako preview-outline # Markdown 見出し / PDF 目次の一覧
tako preview-outline --item 4 # 4 番目の項目へジャンプ

コードプレビューはその場で軽く編集できます。ペインの上の「編集」で編集モードに入り、打つのをやめて約 0.5 秒で自動保存されます(既定で有効)。キーは次のとおりです(Windows は Ctrl+Z や Ctrl+C を端末へそのまま渡すため、Ctrl+Shift の組み合わせです)。

操作macOSWindows
保存⌘SCtrl+Shift+S
ファイル内の検索・置換⌘FCtrl+Shift+F
取り消し / やり直し⌘Z / ⇧⌘ZCtrl+Shift+Z / Ctrl+Shift+Y

検索は大文字小文字を区別するのが既定で、検索欄の右のトグルで「区別しない」「単語単位」に切り替えられます(value を置換しても型名の Value は変わりません)。カーソルを括弧の隣に置くと、対になる括弧に色が付きます(文字列とコメントの中の括弧は数えません)。保存していない変更があるときにファイルが外で書き換わると、自動保存を止めて帯で知らせ、「差分」「上書き保存」「ディスクから読み直す」から選べます。黙って他人の変更を潰すことはありません。

Enter は前の行のインデントを引き継ぎ、Python の return・pass・break・continue・raise の行の後ろでは 1 段浅くします(括弧が閉じていない行・\ で終わる行は浅くしません)。Markdown のリストの行(- ・* ・1. ・- [ ] など)では次の行にも同じ印が入り(番号は 1 つ進み、チェックボックスは空の [ ])、印だけの行でもう一度押すと印が消えてリストから抜けます。開き括弧(( [ {)を打つと閉じ括弧も入り、自動で入った閉じ括弧の手前で同じ閉じ括弧を打つと二重にならずにその後ろへ進みます(自分で打った閉じ括弧は飛び越しません)。文字列とコメントの中、Markdown とテキストのファイルでは閉じません。括弧の自動閉じは設定画面の「プレビュー」か tako edit auto-close off で切れます。

表示中のファイルが変わると自動で再読み込みされます(既定 ON)。AI がファイルを書き換えたとき、手動で開き直す必要はありません。

Terminal window
tako preview-reload # 現在値
tako preview-reload off

コードを編集モードで開くと、拡張子に合う言語サーバを起こします(読むだけのときは起こしません)。動いている間は、診断の波線・補完・型と説明のカード・定義へ移動・参照の検索・名前の変更・整形が使えます。

言語(拡張子)言語サーバ入っていないとき
Python(.py .pyi)pyrighttako が取ってくる(1.1.414)
TypeScript / JavaScript(.ts .tsx .js .jsx ほか)typescript-language-servertako が取ってくる(5.1.3 + typescript 5.9.3)
Rust(.rs)rust-analyzertako が取ってくる(2026-09-21)
C / C++(.c .cpp .h ほか)clangd取ってこない(macOS は xcode-select --install で入ります)
LaTeX(.tex)texlabtako が取ってくる(5.26.0)
TOML(.toml)tombitako が取ってくる(1.7.0)
Swift(.swift)sourcekit-lsp取ってこない(Xcode / Command Line Tools に入っています)
Dart(.dart)dart(dart language-server)取ってこない(Dart SDK・Flutter に入っています)
CSS / SCSS / Less(.css .scss .less)vscode-css-language-server取ってこない(npm install -g vscode-langservers-extracted)
HTML(.html .htm)vscode-html-language-server取ってこない(同上。誤りの波線は <style> / <script> の中だけ)
Arduino のスケッチ(.ino)arduino-language-server(Arduino IDE に同梱)取ってこない(brew install --cask arduino-ide。IDE を入れていれば追加の導入はいりません)
  • グローバルに入っていればそちらを使います。無いときだけ、版を固定したものを tako のデータフォルダへ取り、配布元が公開しているハッシュで確かめてから使います。npm や Homebrew は起こさず、PATH も書き換えません。pyright と typescript-language-server は Node.js で動くので、足りる版の node が PATH に無ければ Node.js 24.21.0 も一緒に取ります
  • 状態は編集中のペインの上に「取得中(取っているものと n / m MB)→ 起動中 → 読み込み中 → 動作中」と出ます。取れなかった・止まったときはその下に帯が出て、理由と「入れる」「もう一度取得」「起こし直す」のボタンが並びます
  • 前もって入れておく・取り直すときは tako lsp install、状態を見るときは tako lsp status です
  • 表に無い言語(Java・Go・YAML・JSON など)は、今は言語サーバを起こしません(色分けと編集はそのまま使えます)
  • Arduino のスケッチ(.ino)は、基板を選ぶまで言語サーバを起こしません(基板が無いと誤りの波線も説明のカードも出ないため)。選んでいないときは編集中のペインの上に帯が出て、選ぶコマンド arduino-cli board attach -b <基板> <スケッチのフォルダ> を案内します(基板の名前の例: arduino:avr:uno。選ぶとスケッチのフォルダの sketch.yaml に書かれ、Arduino IDE とも共有されます)。tako のターミナルで打てばそのまま起き、外で打ったときは帯の「もう一度確かめる」を押します。言語サーバ・arduino-cli・clangd は PATH か Arduino IDE の同梱から探すので、授業で IDE を入れている PC はそのまま使えます。スケッチの中の .h / .cpp(src/ の下を含む)も同じ言語サーバが受け持つので、Arduino の型(uint8_t や Arduino.h)を知らない誤りの波線は出ません。.ino を開いていなくても tako が裏で一緒に読み込みます(画面には出さず、ファイルも書き換えません)。スケッチでないフォルダの C / C++ は今どおり clangd です
  • TOML の説明のカードは、ファイルに合うスキーマがあるときに出ます(Cargo.toml・pyproject.toml など)。tombi はスキーマの一覧を SchemaStore(schemastore.org)へ問い合わせますが、Cargo.toml と pyproject.toml は内蔵のスキーマでオフラインでも出ます
操作macOSWindows
補完の候補を選ぶ / 確定 / 閉じる↑↓ / Enter か Tab / Esc同じ
型と説明のカードマウスを乗せる / ⇧⌘Hマウスを乗せる / Ctrl+Shift+H
定義へ移動⌘+クリックCtrl+クリック
ジャンプする前の場所へ戻る / 進む⌃- / ⌃⇧-Ctrl+Alt+← / Ctrl+Alt+→
コードを整形⇧⌘ICtrl+Shift+I
  • 識別子を右クリックすると、「定義へ移動」「宣言へ移動」「型定義へ移動」「実装へ移動」と、「参照を検索」「呼び出し元を表示」などが出ます(言語サーバが対応している項目だけ)。参照の結果は右パネルの references に並びます
  • 右クリックの「名前の変更…」で、そのファイルの中の同じ名前をまとめて変えられます(Value と value のような別の名前は変えません。undo 1 回で戻る)。ほかのファイルにも及ぶ名前は書き換えずに、及ぶ先を知らせます
  • エラーと警告の一覧は右パネルの diagnostics に並び、押すとその位置へ移ります。AI からは tako lsp diagnostics で同じ一覧を読めます
  • 保存時の整形は既定で off です。tako lsp format-on-save on で、⌘S などの明示的な保存のときだけ整形するようになります(自動保存では整形しません)

⇧⌘F(Windows は Ctrl+Shift+G)で右パネルの search に検索欄が開き、Enter で探します。開いているファイルの中だけを探すのは ⌘F の方です。

  • 範囲は、そのタブのファイルツリーのフォルダです。ホームフォルダ全体を気付かずに探すことはありません
  • git のリポジトリの中では .gitignore の対象を探しません。バイナリと大きすぎるファイルも探さず、件数だけ知らせます
  • 大文字小文字は区別しないのが既定で、検索欄の右の Aa で区別、.* で正規表現になります
  • 結果の行を押すと、そのファイルのその行が開きます(開いているペインがあればそこへ、無ければ右に新しいペインで)
  • 置換と、シンボル名での検索はまだありません
Terminal window
tako search port # タブのファイルツリーのフォルダから探す
tako search 'def \w+' --regex # 正規表現
tako search port --show # 右パネルの search にも出す

プレビューヘッダの「履歴」トグルで、そのファイルの git 履歴に表示を切り替えられます。コミット一覧が並び、選ぶとそのコミットでの差分が読めます。「この行はいつ、なぜ変わったのか」をターミナルから出ずに追えます。

履歴とコミットごとの差分は裏で読み込むので、巨大なリポジトリや差分、ネットワーク上のフォルダでも画面は止まりません。git が 30 秒たっても返らないときは、通知欄に理由を出して打ち切ります(秒数は環境変数 TAKO_CHANGELOG_GIT_TIMEOUT_SECS で変えられます)。

Terminal window
tako preview-changelog

ファイルを実行する(Code Runner)

Section titled “ファイルを実行する(Code Runner)”

プレビューヘッダの再生ボタンで、開いているファイルをその場で実行できます。実行はペインを分割して行われるので、出力を見ながら編集を続けられます。

実行コマンドは、ファイル先頭の tako:run 宣言か、拡張子ごとの既定から決まります。プロファイルが複数あるときは再生ボタン横のドロップダウンで選べます。

ファイルがプロジェクトの中にあるときは、そのプロジェクトの流儀で走ります。ファイルのあるフォルダから上へ辿って Cargo.toml / package.json / pyproject.toml / go.mod / *.csproj / Makefile を探し、見つかったフォルダ(プロジェクトのルート)で実行します。

プロジェクト実行されるコマンドの例
Rust(Cargo.toml)cargo run(ワークスペースの中なら cargo run -p <パッケージ>。bin の無いライブラリはそのモジュールのテスト cargo test -p <パッケージ> --lib <モジュール>::)
Node.js(package.json)そのファイルを走らせている script があれば npm run <script>(pnpm / yarn / bun はロックファイルで判別)、無ければ node <ファイル>
Python(pyproject.toml)パッケージの中なら python3 -m <モジュール>、テストファイルなら python3 -m pytest <ファイル>(Python は下の「Python の実行環境」の順で自動で選ぶ)
Go(go.mod)go run ./<パッケージ>(main でないパッケージとテストファイルは go test)
.NET(*.csproj 等)dotnet run(テストプロジェクトは dotnet test)
C / C++(Makefile)run 規則があれば make run、無ければ make
Arduino(スケッチのフォルダ = .ino のあるフォルダ)arduino-cli compile(ドロップダウンの upload で arduino-cli compile --upload = 書き込み)。arduino-cli は PATH に無ければ Arduino IDE に同梱のものを使う

Arduino の基板とポートはスケッチのフォルダの sketch.yaml(Arduino IDE と同じファイル)から読みます。基板が選ばれていない・フォルダ名と .ino の名前が違う・arduino-cli が無いときは、実行ペインの先頭に直し方(arduino-cli board attach -b <基板> / 改名のしかた / 導入のコマンド)が出ます。

探索は git リポジトリのルートより上へは出ず、ホームフォルダ(~)直下にある package.json などの置き忘れもプロジェクトとはみなしません。ファイルに tako:run を書けばそちらが優先され、tako run-default で拡張子の既定を設定した場合もそちらが優先されます。${workspaceRoot} と書くとプロジェクトのルートに置き換わります(例: tako:cwd: ${workspaceRoot})。

Terminal window
tako run script.py
tako run script.py --list # 使えるプロファイル(どのプロジェクトとして解決したかも出る)
tako run-default py "python3" # 拡張子の既定を設定

Python の実行環境(.venv / uv / poetry など)

Section titled “Python の実行環境(.venv / uv / poetry など)”

.py は、設定しなくてもプロジェクトの実行環境で走ります。ファイルのあるフォルダから上へ辿り、次の順で最初に見つかったものを使います。

  1. uv のプロジェクト(uv.lock か pyproject.toml の [tool.uv])→ uv run python
  2. プロジェクトの中の venv(.venv / venv / pyvenv.cfg を持つフォルダ。近いフォルダのものが優先)
  3. Poetry(poetry.lock)→ poetry run python
  4. Pipenv(Pipfile)→ pipenv run python
  5. conda(environment.yml の name: と一致する env がちょうど 1 つあるとき)
  6. pyenv(.python-version)
  7. どれも無ければ、これまでどおり python3(Windows は python)

venv や conda の env を使うときは、その env の bin(Windows は Scripts)を PATH の先頭へ足し、VIRTUAL_ENV なども設定してから走らせます。tako:run: pytest のように python を直接書かない宣言でも、その環境の pytest が使われます。宣言の中で ${python} と書くと、選ばれた Python に置き換わります(例: tako:run: ${python} -m pytest)。

どれが選ばれたかと、選べる候補の一覧は --list で確認できます。python の実体が消えた壊れた .venv は選ばず、理由を warnings に出します。

Terminal window
tako run script.py --list # runtime(選ばれた環境)と runtimes(候補)
tako run script.py --list --refresh # uv / poetry の場所や Python の版を調べ直す

conda の env は PATH と CONDA_PREFIX を設定するだけで、activate.d のスクリプトは走りません。必要なら tako:run: conda run -n <名前> python ${fileBase} と書いてください。環境を固定したいときも同じように tako:run: で直接書けます。

.js / .mjs / .ts / .tsx などは、フォルダから上へ辿って見つけた .nvmrc(同じフォルダに無ければ .node-version)の版を、nvm か fnm に入っている node から選びます。20 のように番号の一部だけなら、その番号で始まる一番新しい版を使います。lts/* のような別名は解かずに warnings で知らせ、PATH の node で走ります。プロジェクトの node_modules/.bin は、どの node を選んでも PATH の先頭に足すので、npm run と同じようにプロジェクトに入れた道具がそのまま使えます。宣言の中で ${node} と書くと、選ばれた node に置き換わります。

.rs は、rust-toolchain.toml(または rust-toolchain)に書いた toolchain を --list に出しますが、走らせるときは何も足しません(rustup がそのファイルを自分で読むので、components や targets の指定もそのまま効きます)。別の toolchain で走らせたいときは tako run-config main.rs --runtime rustup:nightly のように選ぶと、RUSTUP_TOOLCHAIN で上書きして走らせます(cargo run でも単体の rustc でも同じ)。

Terminal window
tako run app.js --list # 選ばれた node(nvm / fnm の版)と候補

自動で選ばれたものと違う環境で走らせたいときは、tako run-config で選ぶと覚えておきます(実行環境はプロジェクト単位、プロファイルはそのファイル単位が既定)。以後の tako run と再生ボタンはそれで走ります。覚えた環境を消した場合は、別の Python へ黙って切り替えずにエラーで止まります。

Terminal window
tako run-config script.py # 選ばれる環境・候補・覚えた値
tako run-config script.py --runtime env2 # 候補の名前か id(--list の runtimes)で選ぶ
tako run-config script.py --reset runtime # 自動選択へ戻す

引数・環境変数・作業ディレクトリ・実行前コマンドも同じコマンドで覚えられます(既定はそのファイルだけ)。

Terminal window
tako run-config script.py --args "--verbose data.csv" # 引数(コマンドの末尾か ${args} の位置へ)
tako run-config script.py --env APP_ENV=dev # 環境変数(--unset-env APP_ENV で消す)
tako run-config script.py --cwd .. # 作業ディレクトリ(相対はファイルの場所から)
tako run-config script.py --before "make build" # 実行前コマンド(失敗したら本体は走らない)
tako run-config script.py --target new # 実行先(毎回新しいペイン。reuse で同じペインへ戻す)

実行先は、再生ボタンを押すたびに同じペインで走らせ直す(既定)か、毎回新しいペインに分けるかを覚えます。実行ボタン横のメニューの「実行先」からも切り替えられます。一回だけ新しいペインで走らせたいときは tako run --new-pane が覚えた値より優先されます。

Terminal window
# ファイルをプレビューで開く(拡張子から表示モードを自動判定)
tako open src/main.rs
# 表示モードを明示指定して開く
tako open design.pdf --mode pdf
# 行を指定して開く
tako open app.py --line 42
# 編集中のコードのエラー・警告を読む(右パネルの diagnostics と同じ一覧)
tako lsp diagnostics
# ワークスペースを横断して探す
tako search port
# MCP 経由(AI エージェントが使用)
# tako_open_file ツールで AI が自動的にプレビューを開く

AI が「このファイルを見て」と言ったとき、tako は自動的にプレビューペインを開いて該当ファイルを表示します。エディタを別途開く必要はありません。

編集・言語サーバ・検索のコマンドの全部は CLI リファレンス に、キー操作は キーボードショートカット にあります。