検索
ホームページ開発ツールVSCodeVSCode の履歴ストレージ戦略について話しましょう

VSCode にファイルのローカル履歴を保持する機能が追加されました。この記事では VSCode における履歴保存戦略について説明します。皆様のお役に立てれば幸いです。

VSCode の履歴ストレージ戦略について話しましょう

昨日 VSCode をアップデートしたところ、ファイルのローカル履歴を保持する機能も追加されていることが分かりました。少し前に、Yank Note に履歴記録機能を追加するために、長い間頭を悩ませて履歴保存戦略を構想したことを思い出します。 VSCode が数か月早くリリースされていたら、リファレンスがあったのにと嘆いています。 [推奨される学習: 「vscode 入門チュートリアル 」]

しかし、VSCode の歴史的なストレージ戦略を調べてみると、それほど大雑把ではないでしょうか。

VSCode の戦略

VSCode 1.66 バージョンのタイムラインにファイルのローカル履歴を表示できるようになりました。効果はこんな感じです

VSCode の履歴ストレージ戦略について話しましょう

この関数に関して、VSCode はいくつかの構成も追加しました:

ローカル履歴を操作するための新しい設定もあります:

  • ワークベンチ.localHistory.enabled - ローカル履歴を有効または無効にします (デフォルト: true).
  • workbench.localHistory.maxFileSize - ローカル履歴作成時のファイル サイズ制限履歴エントリ (デフォルト: 256 KB).
  • workbench.localHistory.maxFileEntries - ファイルごとのローカル履歴エントリの制限 (デフォルト: 50) .
  • workbench.localHistory.exclude - ローカル履歴から特定のファイルを除外するためのグロブ パターン。
  • workbench.localHistory.mergeWindow - 秒単位の間隔この間、ローカル ファイル履歴の最後のエントリ (デフォルト 10s) にさらに変更が追加されます。

履歴エントリを右クリックすると、メニューが表示されます。システム マネージャに直接ファイル 履歴記録のコピー。

VSCode は、保存/元に戻す操作ごとに、特定の時間枠 (デフォルトは 10 秒) 内にファイルをフォルダーに保存すると推測できます。履歴レコードは、特別なファイル名 (保存時間情報) によって検索されます。

これは失礼すぎます。ファイルは単なるバージョンです。

Typoraの戦略

それでは、当時検討されていたTyporaの戦略についてお話しましょう。 Typora は、macOS 上で非常に精巧なファイル履歴バックトラッキング インターフェイスを備えています。

VSCode の履歴ストレージ戦略について話しましょう

システムの「タイム マシン」を使用してバージョン バックトラッキングを実装する必要があるようです。したがって、この機能は Windows では利用できなくなりました。

Yank Note の戦略

私が思い描く歴史的バージョンにはいくつかの目標があります:

  • 最も重要な目標は、データの損失を避けます。

  • 履歴レコードはあまり多くのスペースを占有せず、段階的に記録することが最善です。

  • 極端な場合には、ユーザーがデータを復元できるようにする必要があります。

  • 履歴レコードにはマークを付けてメモを作成できる必要があります

最初の目標として、ユーザーが最後に編集したバージョンを保持したいと考えています。捨てないでください。また、Yank Note には自動保存機能があるため、スペースを取りすぎない、ファイルが生成されすぎないという 2 番目の目標があります。したがって、私が最初に考えた、VSCode と同様の時間枠ファイル保存戦略は機能しません。

3 番目の目標については、Git やデータベースなどのカスタム形式を導入したくありません。ユーザーがデータを失い、ソフトウェア内の履歴レコードを見つけるのが不便な場合(ソフトウェアが破損した、ファイルが誤って削除されたなど)、ユーザーは履歴ディレクトリに入ってファイルを取得できなければなりません。

フォローアップ: ユーザーが誤ってドキュメントを削除し、ごみ箱でドキュメントが見つからなかったため、この方法でドキュメントを復元しました。

4 番目の目標を考慮して、最終的にファイルの履歴バージョンを保存するために zip ファイルを使用することにしました。ただし、履歴の書き込みと読み取りで多少のコンピューティング パフォーマンスが消費されます (サイズは 10 メガバイトを超えます)。ファイル履歴は基本的に認識できませんが、最終的な効果は依然として非常に良好です。

最終解決策:

  • 各ドキュメントはファイル名とパスでハッシュ化され、zip パッケージ ファイル名がスペルアウトされます

  • 毎回ファイルを書き込み、新しいバージョンのファイルを zip ファイルに書き込みます

  • ファイルの移動と名前変更時に同時に zip ファイルの名前を変更します

  • 履歴バージョンの最大数は制限される場合があります。

  • バージョンメモとタグ情報は、圧縮メモフィールドに保存できます。

通常、ファイルを編集する場合、自動保存メカニズムにより、現在のバージョンと前のバージョンの差は非常に小さいため、理論的には、新しいバージョンのファイルが圧縮ファイルに追加されます。 、圧縮による全体的なファイル サイズの増加は非常に小さいはずです。しかし、後になってこれはそうではないことがわかり、そのとき初めて、各ファイルが個別に圧縮されてからまとめてパッケージ化されるという、Zip ファイル圧縮の特徴に気づきました。つまり、圧縮パッケージにファイルを追加する場合、他のファイルと一緒に圧縮されることはありません。

この状況に対応して、私は 2 回の圧縮戦略を採用しました。1 回目は圧縮率を 0 に設定し、パッケージ化のみを行い、zip パッケージにファイルの元の情報が含まれるようにしました。パッケージ化されたファイル全体が 1 回圧縮され、2 回目に圧縮されるため、圧縮プログラムは全体的な情報を考慮して圧縮できるようになり、「増分更新」の目的が達成されます。

後でテストするためのスクリプトを作成します。通常の長さのファイルは、1000 バージョンを保存した場合でも 50 KB しか占有しません。

数か月間使用した後、履歴ファイル ディレクトリは 700 KB 以上のスペースしか占有せず、その中のほとんどの履歴ファイルのサイズはわずか数 KB です。 VSCode を振り返ると、過去 2 日間で履歴ディレクトリが 2M を占めていました。

VSCode の履歴ストレージ戦略について話しましょう

さらに

歴史的な保存について、いくつかの保存戦略をさらに検討しました

比較的最後に保存した時点で、次の情報を保持します。

  • 過去 10 分間のすべてのバージョン
  • 過去 1 時間の 1 分ごとに 1 つのバージョン
  • 過去 1 時間ごと24 時間 1 つのバージョン
  • 毎日 1 つのバージョンを保持
  • マークされたバックアップ

しかし、今は必要ないようです。現在の戦略はシンプルです。 、それぞれ 私の期待にも応えました。

VSCode の詳細については、vscode チュートリアル をご覧ください。 !

以上がVSCode の履歴ストレージ戦略について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事は掘金社区で複製されています。侵害がある場合は、admin@php.cn までご連絡ください。
Visual Studioはまだ無料ですか?可用性を理解するVisual Studioはまだ無料ですか?可用性を理解するApr 18, 2025 am 12:05 AM

はい、VisualStudioの一部のバージョンは無料です。具体的には、VisualStudioCommunityeditionは、個々の開発者、オープンソースプロジェクト、学術研究、および小規模組織にとって無料です。ただし、VisualStuprofessionや企業などの有料バージョンもあり、大規模なチームや企業に適しており、追加機能を提供しています。

Visual Studioの使用:プラットフォーム全体のソフトウェアの開発Visual Studioの使用:プラットフォーム全体のソフトウェアの開発Apr 17, 2025 am 12:13 AM

VisualStudioを使用したクロスプラットフォーム開発は実現可能であり、.NetcoreやXamarinなどのフレームワークをサポートすることにより、開発者は一度にコードを作成して複数のオペレーティングシステムで実行できます。 1).Netcoreプロジェクトを作成し、クロスプラットフォーム機能を使用します。2)モバイルアプリケーション開発にXamarinを使用します。

vscodeを使用してJSONをフォーマットする方法vscodeを使用してJSONをフォーマットする方法Apr 16, 2025 am 07:54 AM

VSコードでJSONをフォーマットする方法は次のとおりです。1。ショートカットキーを使用します(Windows/Linux:Ctrl Shift I; MacOS:CMD Shift I); 2。メニュー( "edit"> "format document"); 3。JSONフォーマッタ拡張機能(プレシエなど)をインストールします。 4。手動でフォーマットします(ブロックをインデント/抽出するためにショートカットキーを使用するか、ブレースとセミコロンを追加します)。 5。外部ツール(JsonlintやJson Formatterなど)を使用します。

vscodeをコンパイルする方法vscodeをコンパイルする方法Apr 16, 2025 am 07:51 AM

VSCODEのコンパイルコードは5つのステップに分割されます。C拡張子をインストールします。プロジェクトフォルダーに「main.cpp」ファイルを作成します。コンパイラ(MINGWなど)を構成します。ショートカットキー(「Ctrl Shift B」)または「ビルド」ボタンでコードをコンパイルします。コンパイルされたプログラムをショートカットキー(「F5」)または「実行」ボタンで実行します。

VSCODEをインストールする方法VSCODEをインストールする方法Apr 16, 2025 am 07:48 AM

Visual Studioコードをインストールするには、次の手順に従ってください。公式Webサイトhttps://code.visualstudio.com/;オペレーティングシステムに従ってインストーラーをダウンロードします。インストーラーを実行します。ライセンス契約を受け入れ、インストールパスを選択します。インストールが完了した後、VSCODEは自動的に開始されます。

VSCODEでフォントを拡大する方法VSCODEでフォントを拡大する方法Apr 16, 2025 am 07:45 AM

Visual Studioコードでフォントを拡大する方法は次のとおりです。設定パネル(CTRL、またはCMD)を開きます。 「フォントサイズ」を検索して調整します。適切なサイズの「フォントファミリ」を選択します。適切なサイズを提供するテーマをインストールまたは選択します。キーボードショートカット(CTRLまたはCMD)を使用して、フォントを拡大します。

VSCODEを使用してリモートサーバーに接続する方法VSCODEを使用してリモートサーバーに接続する方法Apr 16, 2025 am 07:42 AM

VSCODEを介してリモートサーバーに接続する方法は?リモート-SSH拡張構成SSH VSCODEで接続を作成する接続情報の入力情報:ホスト、ユーザー名、ポート、SSHキーリモートエクスプローラーの保存された接続をダブルクリックします

VSCODEでVUEを実行する方法VSCODEでVUEを実行する方法Apr 16, 2025 am 07:39 AM

VSCODEでVUEプロジェクトを実行するには、次の手順が必要です。1。Vue CLIをインストールします。 2。VUEプロジェクトを作成します。 3.プロジェクトディレクトリに切り替えます。 4.プロジェクトの依存関係をインストールします。 5.開発サーバーを実行します。 6.ブラウザを開いてhttp:// localhost:8080にアクセスします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール