ワークスペースツール

ブックマーク

戻ってきたい場所 — バグが住んでいる行、名前を変えかけている関数、リファクタリングが 着地したら消すもの。ファイルビューアーで行を右クリックして この行をブックマーク を選ぶと、サイドバーに現れ、クリックすればそこへ戻れます。

サイドバーのブックマーク

ブックマークされた行には行番号の脇に印が付き、どの行でもホバーすると薄い印が出て クリックできます — コンテキストメニューは、機能があると既に知っている人のためのものです。

ブックマークはこのマシンとこのリポジトリだけのものです。リポジトリには何も書かれ ないので、コミットもプッシュもできず、ほかの誰にも見えません — Todo と 同じです。

行は動きます。問題はそこに尽きます。

誰かが上に一行入れた瞬間 cart.ts:42 は腐りますし、黙って別の行を開くブックマークは 無いより悪い。だから行番号の隣にその行のテキストを保存し、開くときに探し直します:

  1. 覚えていた行。まだそのテキストなら、それ;
  2. なければ同じテキストを持つ最も近い行 — 最も近い、というのが肝で、ファイル中に 何度も出てくる行でも元の位置に一番近い写しに解決されます;
  3. それでもなければ、空白を無視して一致する最も近い行。インデント変更や フォーマッターを生き延びます;
  4. どれも無ければ その行はもう無い と言い、推測せずに元あった場所を開きます。

動いた場合、ブックマークは自分で治ります。新しい行番号が保存され、次に開くときは 実際の位置から始まります。メモはコンテキストメニューから付けられます — メモが 無ければ、その行のテキストがそのままラベルです。

限界

  • ブックマークが指すのはワークツリーであって、コミットではありません。編集には ついていきますが、履歴をさかのぼりはしません。
  • 書き直されたファイルはブックマークを失います。 数百行以内に正確なテキストも 空白を正規化した形も無ければ、指し示せる誠実な場所は残りません。
  • ファイル名を変えるとブックマークは壊れます。 鍵はパスです。git は差分の中の リネームを見抜けますが、ブックマークは差分の一部ではありません。
  • 空行には探す手がかりがありません。 そのブックマークは行番号だけが頼りです。

関連項目: Todo · 問題

この翻訳を GitHub で改善