MeetDock-Solo

MeetDock-Solo は、VS Code でのプログラミング作業中に Microsoft Teams 会議の参加漏れや遅刻を防ぐためのリマインダー&会議一覧管理拡張機能です。
サイドバーへのドラッグ&ドロップやショートカットキー(Alt+M / Option+M)によるクリップボード自動解析により、Teams 会議を迅速に登録できます。ステータスバーのリアルタイムカウントダウンと2段階のリマインダー通知(5分前ポップアップ・開始時の通知トースト)で、コーディングに集中しながらも確実に会議へ参加できるようサポートします。
📑 目次
💡 主な機能
直感的な会議登録
- .ics ファイル / テキストのドラッグ&ドロップ: 企業版 Teams や Outlook から保存した
.ics カレンダーファイル、またはメール・チャットの会議招待テキストをサイドバー(TreeView)へドラッグ&ドロップするだけで、RFC 5545 準拠で解析し、Teams URL・件名・日時・主催者・繰り返し設定を自動抽出してリマインダーに登録できます。
- クリップボード解析 (
Alt+M / Option+M): コピーしたテキストから自動解析し、入力ダイアログで迅速に登録できます。
ステータスバー表示とリアルタイムカウントダウン
- 次の会議までの残り時間をステータスバーに常時表示します。
- 残り時間に応じて表示スタイルが自動変化します:
- 通常時(当日):
$(calendar) Next Teams: 14:00 (in 35m)
- 通常時(翌日・翌日以降): 翌日の場合は
$(calendar) Next Teams: 14:00 (Tomorrow) / (明日)、2日以降先の場合は (in 2 days) / (2日後) と分かりやすく表示されます。
- 5分前〜1分前: 黄色背景で警告表示
$(calendar) 14:00 件名 (in 5m)
- 1分前未満: 赤色背景で強調表示
$(calendar) 14:00 件名 (まもなく開始)
- 開催中: 背景色無しの緑色強調表示で
$(broadcast) 件名 (開催中)
- ステータスバーをクリックすると、登録済み会議の一覧(クイックピック)が開き、すぐに Teams へ参加できます。
確実な2段階リマインダー通知
- 5分前通知: VS Code 右下に通知ポップアップを表示。「Teamsに参加」ボタンを押すとブラウザまたはTeamsアプリで即座に会議リンクが開きます。
- 開始時刻通知: 非モーダル通知トーストを表示。コーディングに没頭していても見逃すことなく Teams へ参加できます。
繰り返し(リカーレンス)会議の自動更新
- 会議ごとに繰り返し設定を選択可能:
- 単発 (Once): 1回のみの開催。会議終了後に自動的に一覧から削除されます。
- 日次 (Daily): 毎日または指定日数ごとに繰り返し、次回スケジュールが更新されます。
- 毎週 (Weekly): 毎週または指定曜日/週ごとに繰り返し、次回スケジュールが更新されます。
- 平日 (Weekdays): 月曜〜金曜日の平日に繰り返し、次回スケジュールが更新されます。
- 月次 (Monthly): 毎月または指定月数(同日)ごとに繰り返し、次回スケジュールが更新されます(※対象月に指定日が存在しない場合、31日→30日/28日など自動的に月末日へ調整されます)。
- 年次 (Yearly): 毎年または指定年数(同月日)ごとに繰り返し、次回スケジュールが更新されます(※うるう年の2月29日設定の場合、平年は2月28日へ自動的に調整されます)。
データ永続化 (globalState)
- 登録された会議データは VS Code の
globalState に安全に保存され、エディタを再起動しても保持されます。
📦 インストール/アップデート方法
本拡張機能は Visual Studio Marketplace から直接インストールできます(推奨)。Marketplace からインストールした場合、VS Code によって拡張機能のバージョン確認および自動アップデートが自動的に行われます。
方法 1: Visual Studio Marketplace からのインストール(推奨)
A. VS Code UI からインストール
- VS Code を開き、左側のアクティビティバーにある 拡張機能アイコン(
Ctrl+Shift+X / Cmd+Shift+X)をクリックします。
- 検索窓に
MeetDock-Solo と入力します。
- 一覧に表示された MeetDock-Solo の 「インストール (Install)」 ボタンをクリックします。
B. VS Code Marketplace Web ページからインストール
- Visual Studio Marketplace の MeetDock-Solo ページにアクセスします。
- 「Install」 ボタンをクリックし、ブラウザの指示に従って VS Code で開いてインストールします。
方法 2: VSIX パッケージファイルからのインストール(オフライン環境等)
ネットワーク制限のある環境やテスト目的で .vsix ファイルから直接インストール・更新を行う手順は以下の通りです。
手順 1: VSIX ファイルのダウンロード
- 本リポジトリの GitHub Releases ページにアクセスします。
- 最新リリースの Assets セクションから、
.vsix ファイル(例: meetdock-solo-1.16.0.vsix)をダウンロードします。
手順 2: VS Code へのインストール
- VS Code の拡張機能ビュー(
Ctrl+Shift+X / Cmd+Shift+X)を開きます。
- 右上の 「...」(その他の操作)アイコン をクリックし、「VSIX からのインストール... (Install from VSIX...)」 を選択します。
- ダウンロードした
.vsix ファイルを選択してインストールします。
インストール完了後、アクティビティバーにカレンダーアイコン (MeetDock-Solo) が表示されれば準備完了です。
🚀 使い方
1. 会議を登録する
使っている Teams の種別(企業向け Teams / 個人向け Teams)によって利用できる最適な登録方法が異なります。
🏢 企業 (Enterprise) 向け Teams の場合
方法 A: .ics ファイルのドラッグ&ドロップ(推奨)
- Outlook や Teams からダウンロード・保存した
.ics カレンダーファイルを準備します。
- VS Code のアクティビティバーにあるカレンダーアイコン MeetDock-Solo を開きます。
.ics ファイルをサイドバービュー(Meetings)へ直接ドラッグ&ドロップします。
- RFC 5545 準拠で自動解析され、ダイアログなしで即座に会議が登録されます。
⚠️ ICS ファイルの繰り返し設定に関するご注意
メール本文添付や特定の通知メールから保存された .ics ファイルには、特定回(インスタンス)の情報(RECURRENCE-ID)のみが含まれ、繰り返しルール(RRULE)が含まれていない場合があります。この場合、ファイル仕様に基づき「単発(1回のみ)」の会議として登録されます。
単発として登録された場合でも、サイドバーで登録された会議を展開し、「繰り返し: 単発 (1回のみ)」の項目をクリック(または右クリックメニュー)することで、現在サポートされている繰り返しパターン(日次・毎週・平日・月次・年次)およびパターンごとの詳細設定(間隔・曜日・開催日・終了日など)をいつでも簡単に変更できます。
方法 B: クリップボードから追加
- Outlook や Teams 等の招待テキスト(会議 ID やパスコード、URL が含まれる文章)をコピー (
Ctrl+C / Cmd+C) します。
- キーボードショートカット
Alt+M (macOS: Option+M) を押すか、サイドバー上部の + (追加) アイコンをクリックします。
- 自動抽出された項目を確認・決定して登録完了です。
👤 個人 (Personal) 向け Teams の場合
クリップボード / テキストから追加
- 個人向け Teams の会議参加リンク(例:
https://teams.live.com/meet/...)や案内テキストをコピー (Ctrl+C / Cmd+C) します。
- キーボードショートカット
Alt+M (macOS: Option+M) を押すか、サイドバー上部の + アイコンをクリックします(またはテキストをサイドバーへドラッグ&ドロップします)。
- 抽出された URL・タイトル・日時を確認し、繰り返しパターン(単発・日次・毎週・平日・月次・年次)を選択して登録完了です。
2. 会議に参加する
- ステータスバーから: ステータスバーの
Next Teams: ... をクリックするとクイックピックが開き、参加したい会議を選択できます。
- サイドバーから: 会議項目の右側に表示される外部リンクアイコン(
Teamsに参加)をクリックします。
- 通知から: 5分前通知または開始時の通知トーストに表示される 「Teamsに参加」 ボタンをクリックします。
3. 会議を管理・削除する
- 削除: サイドバーの会議項目ホバー時に表示されるゴミ箱アイコン(
削除)をクリックすると、登録を削除できます。
- 手動更新: サイドバー上部の更新アイコンをクリックすると、表示を手動更新できます。
⌨️ コマンド & キーバインド
| コマンド名 |
コマンド ID |
ショートカットキー |
説明 |
| クリップボードから会議を追加 |
meetdock-solo.addFromClipboard |
Alt+M (Win/Linux)
Option+M (macOS) |
クリップボードのテキストから Teams URL、件名、開始日時を解析して登録 |
| Teamsに参加 |
meetdock-solo.openMeeting |
- |
選択された会議の URL をブラウザまたは Teams アプリで開く |
| 会議を削除 |
meetdock-solo.deleteMeeting |
- |
登録済みの会議を削除する |
| 更新 |
meetdock-solo.refreshView |
- |
サイドバーの会議一覧表示を更新する |
| ミーティング一覧から選択 |
meetdock-solo.selectMeeting |
- |
クイックピックで登録済み会議一覧を表示し、選択して参加する |
| ガイド表示の切替 |
meetdock-solo.toggleGuide |
- |
サイドバー下部の使い方ガイドを表示・フォーカスする |
📋 動作要件 (Requirements)
- VS Code:
v1.109.0 以降
- 対応 OS: Windows, macOS, Linux
- Microsoft Teams の会議 URL (
https://teams.microsoft.com/... または https://teams.live.com/...) を使用する環境
🔒 データの保存について
本拡張機能で登録した会議情報を、拡張機能自身が独自の外部サーバーへ送信することはありません。すべてのデータは VS Code の ExtensionContext.globalState を通じてローカル環境に保存されます。会議への参加を選択した場合のみ、src/extension.ts および src/reminderService.ts の openExternal 処理により、選択した会議 URL が既定のブラウザまたは Teams アプリへ渡されます。
🛠️ 開発者向けドキュメント
システムの詳細な動作フローやコンポーネント構造については、docs/architecture.md を参照してください。
📄 ライセンス
MIT License
| |