Skip to content

tkys/sublime-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sublime Sync

Sublime Text 3のシンプルで摩擦のない同期・バックアップツール

特徴

  • シンプル: 最小限の設定で即座に使用開始
  • 自動同期: ファイル変更を自動検出して同期
  • クラウド同期: Dropbox対応(Google Drive、OneDriveも今後対応予定)
  • 競合解決: 複数デバイス間での設定競合を自動解決
  • 安全なバックアップ: 設定変更前の自動バックアップ
  • セキュア: APIキーの暗号化保存
  • Windows最適化: Windows環境での快適な動作
  • 摩擦レス: Tailscaleのような簡単セットアップ

インストール

🪟 Windows環境

詳細な導入手順は INSTALL_WINDOWS.md をご覧ください。

クイックスタート:

# UVをインストール(PowerShell管理者権限)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

# プロジェクトセットアップ
cd $env:USERPROFILE\Documents
git clone [このリポジトリURL] sublime-sync
cd sublime-sync
uv sync
uv run sublime-sync init

🐧 Linux/macOS環境

cd sublime-sync
uv sync

クイックスタート

  1. 初期セットアップ

    uv run sublime-sync init
  2. 状態確認

    uv run sublime-sync status
  3. 自動監視開始

    uv run sublime-sync watch

コマンド

基本コマンド

sublime-sync init

初期セットアップを実行します。初回バックアップと同期を行います。

sublime-sync status

Sublime Text 3の検出状況と同期状態を表示します。

sublime-sync sync

設定ファイルを手動で同期します。

sublime-sync backup

現在の設定を手動でバックアップします。

sublime-sync watch

ファイル変更を監視して自動同期を開始します。

sublime-sync config

設定の表示・変更を行います。

オプション:

  • --sync-enabled true/false: 同期機能の有効/無効
  • --backup-enabled true/false: バックアップ機能の有効/無効
  • --sync-interval N: 同期間隔(秒)
  • --backup-count N: 保持するバックアップ数

クラウド同期コマンド

sublime-sync cloud setup <provider>

クラウドプロバイダーをセットアップします。

# Dropboxをセットアップ
uv run sublime-sync cloud setup dropbox

sublime-sync cloud status

クラウド同期状態を表示します。

sublime-sync cloud sync

クラウドと同期を実行します。

オプション:

  • --setup: セットアップも同時に実行
  • --upload-only: アップロードのみ実行
  • --download-only: ダウンロードのみ実行
  • --force: 競合を無視して強制実行

sublime-sync cloud reset

クラウド設定をリセットします。

使用例

# 1. 初期セットアップ
uv run sublime-sync init

# 2. Dropboxクラウド同期をセットアップ
uv run sublime-sync cloud setup dropbox

# 3. クラウドと同期
uv run sublime-sync cloud sync

# 4. 状態確認
uv run sublime-sync cloud status

# 5. 自動監視開始(ローカル同期)
uv run sublime-sync watch

同期対象ファイル

以下のSublime Text 3設定ファイルが自動的に同期されます:

  • Preferences.sublime-settings
  • Package Control.sublime-settings
  • *.sublime-keymap
  • *.sublime-settings
  • *.sublime-snippet
  • *.sublime-macro

クラウド同期セットアップ

Dropbox

  1. Dropbox Developer Appを作成

    • Dropbox Developers にアクセス
    • "Create app" をクリック
    • "Scoped access" を選択
    • "App folder" を選択
    • アプリ名を入力(例: sublime-sync-yourname
  2. APIキーを取得

    • App Key と App Secret をコピー
  3. Sublime Syncに設定

    uv run sublime-sync cloud setup dropbox
    • プロンプトに従ってApp KeyとApp Secretを入力
  4. 同期開始

    uv run sublime-sync cloud sync --setup

セキュリティ

  • APIキーは暗号化されてローカルに保存されます
  • 認証情報は他のアプリケーションからアクセスできません
  • 各マシンで個別の認証が必要です

データ保存場所

Windows

  • 設定: %LOCALAPPDATA%\\sublime-sync\\
  • 同期データ: %LOCALAPPDATA%\\sublime-sync\\sync_data\\
  • バックアップ: %LOCALAPPDATA%\\sublime-sync\\backups\\
  • APIキー: %LOCALAPPDATA%\\sublime-sync\\api_keys.enc

macOS

  • 設定: ~/Library/Application Support/sublime-sync/
  • 同期データ: ~/Library/Application Support/sublime-sync/sync_data/
  • バックアップ: ~/Library/Application Support/sublime-sync/backups/
  • APIキー: ~/Library/Application Support/sublime-sync/api_keys.enc

Linux

  • 設定: ~/.config/sublime-sync/
  • 同期データ: ~/.config/sublime-sync/sync_data/
  • バックアップ: ~/.config/sublime-sync/backups/
  • APIキー: ~/.config/sublime-sync/api_keys.enc

トラブルシューティング

Sublime Text 3が検出されない

  1. Sublime Text 3が正しくインストールされているか確認
  2. 一度Sublime Text 3を起動して設定ディレクトリを作成
  3. sublime-sync statusで検出状況を確認

同期が動作しない

  1. sublime-sync configで同期機能が有効か確認
  2. 権限の問題がないか確認
  3. ファイルが他のプロセスによってロックされていないか確認

クラウド同期の問題

認証エラー

  1. APIキーが正しく設定されているか確認
  2. sublime-sync cloud resetで設定をリセットして再設定
  3. Dropbox Developer Appが正しく設定されているか確認

同期の競合

  1. sublime-sync cloud syncで競合を確認
  2. 手動で競合解決を選択
  3. 必要に応じて--forceオプションで強制同期

ネットワークエラー

  1. インターネット接続を確認
  2. ファイアウォール設定を確認
  3. プロキシ環境の場合は設定を確認

ログの確認

ログファイルの場所:

  • Windows: %LOCALAPPDATA%\\sublime-sync\\logs\\
  • macOS: ~/Library/Application Support/sublime-sync/logs/
  • Linux: ~/.config/sublime-sync/logs/

技術仕様

  • Python: 3.8以降
  • 主要ライブラリ: Click, Rich, Watchdog, Pydantic, aiohttp, cryptography
  • サポートOS: Windows, macOS, Linux
  • クラウドプロバイダー: Dropbox(Google Drive、OneDriveは今後対応予定)
  • 暗号化: Fernet(対称暗号化)
  • 認証: OAuth 2.0
  • ライセンス: MIT

開発・テスト

# 開発依存関係をインストール
uv sync --dev

# テスト実行
uv run pytest

# 型チェック
uv run mypy sublime_sync

# フォーマット
uv run black sublime_sync tests

# リント
uv run ruff sublime_sync tests

貢献

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a Pull Request

アーキテクチャ

詳細な技術文書については以下を参照:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages