VSCode：VSNotes：メモをクラウドストレージを使って異なるワークスペースや端末で共有、Gitで管理

# 0.目的とメリット

## (1) 目的

- VSCodeで技術メモ（Markdown形式）を作成し、端末やワークスペースを問わず共有する。

## (2) メリット

- VSNotesはワークスペースに関係なくファイルを参照できる。つまり、**ワークスペース間での共有**ができる。
- VSNotesの保存先を、**クラウドストレージ**のローカルディレクトリにして**端末間でファイルを共有**する。
- Gitのリポジトリをクラウドストレージにおき、**バージョン管理も共有**する。
- VSCodeがエディタなので、**クラウド型のエディタと違い、様々な機能拡張ができる**。
- VSNotesは、メモへの**タグ付け**ができるので検索しやすい。
- メモは、**Markdown形式・テキストファイル**なので、仮にVSNotesより便利な拡張がでても**乗り換えやすい**。つまり、**拡張やアプリ間での共有**もできる。

# 1.任意のクラウドストレージのローカルディレクトリに保存用フォルダを作成

- Dropbox、OneDrive、GoogleDriveなど同期用のローカルディレクトリにメモを保存するディレクトリを作成。

# 2.Gitのリポジトリ作成

- 項番1のディレクトリでリポジトリ作成

```sh
cd "項番1のディレクトリパス"
git init
```

# 3. VSNotesをVSCodeにインストール

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/d2c6e6f9-b9e4-96eb-e35d-8ecbc07cb899.png)

# 4. VSNotesの保存先ディレクトリを設定

- 「ファイル > 環境設定 > 設定」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/54cdcff2-45f7-c2fc-bd82-931a544f7e05.png)

- 「User > VSNotes」の設定エリアを開く。
- ワークスペースではなく、ユーザーの設定にして、異なるプロジェクト間でもデータ共有をする。
- **「Default Note Path」**にメモの保存先パスを設定。
- 保存先パスは、項番1のクラウドストレージのローカルディレクトリパス。
- **「OneDrive」などフォルダ名に全角が入ると文字化け**をするので、フォルダの**シンボリックリンク**を設定するとよい。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/2a3ff251-0682-1620-9053-c0bd2cffde16.png)

# 5. ワークスペース外のリポジトリにコミットするコマンドを設定

- VSNotesの設定エリアの「Commit Push Shell Command」に、項番1のディレクトリ内にあるリポジトリにadd&commitするコマンドを設定。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/2716311f-88c7-91b7-0d99-af1c545db4c3.png)

- 以下は設定するコマンドの例。

```sh
git -C "項番1のディレクトリパス" add -A && git -C "項番1のディレクトリパス" commit -m "{msg}"
```

# 6. コマンドパレットからメモを作成

- コマンドパレットから「VSNotes: Create a New Note」を選択する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/28fb1930-10ca-0059-2e89-2f314569db29.png)

- 、コマンドパレットにメモのタイトルをつけて、Enter（作成）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/f7c204b1-508a-b2cb-c574-d70feb8f357e.png)


# 7. コマンドパレットからコミット

- コマンドパレットから「VSNotes: Commit an Push」を選択する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/0a272ccf-9f40-d54d-358f-c4241d37a355.png)

- コミットメッセージを入力して、Enter（コミット）。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/a599a155-a090-634e-a209-25c156c621cf.png)

- ちなみに、コミットは、VSNotesのコマンドでなくても、VSCode標準のバージョン管理画面からも行えます。この画面では異なる場所のリポジトリも扱えます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/48b9a606-5f7c-bc8d-f263-969a18d09a3b.png)



# 8. GitLensでリポジトリのログを確認

- GitLensをインストール。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/60341835-4059-8b93-628f-d6eb605747b2.png)

- VSNotesのアイコンをクリックして、メモファイルのリストを表示する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/1ced3b23-a4e8-2506-348e-883bc6d0706e.png)

- コミットしたファイルを選択してエディタに表示する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/9b54c2d5-a6a5-a69a-4082-a8f76bfec473.png)

- GitLensは、ワークスペース外にリポジトリがあるファイルも、エディタで開くことで、REPOSITORYペインにリポジトリを表示する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/d9c291c6-766e-213b-7880-9e1e95599381.png)

以上。

# 備考

## 保存先にフォルダ付きでメモを保存（メモのグループ化）

- メモのタイトルを入力する時に、「**フォルダ名/タイトル**」とすることでフォルダが作られる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/3b6736f6-e60d-237b-d93d-b8d931d00972.png)

- VSNotesの「Files」に以下のようにフォルダが作成される。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/15972/4cefa41c-5a39-54b9-a16e-e02cf14af922.png)


## VSNotesの2020年7月時点での欠点

- 拡張からファイルを消せない。（直接ディレクトリにいって削除）
- VSNotesのメモだけの検索機能に不具合がある。また、ディレクトリ内のファイル検索ができない。