Hanatare's PaPa

Make life a little richer.

Virtual Space of Hanatare's PaPa

人生をほんの少しだけ充実させる

【Visual Studio Code】メモをPCで取るならVSCodeがおすすめ

f:id:nothing-title:20210520233335p:plain

仕事をしているとメモを取る機会は非常に多いと思います。私はノートPCを常に持ち歩いて仕事をしており、打ち合わせのメモを取るときはVisual Studio Code(以下VS Code)を利用しています。職場がWindowsOSだったこともあり、以前はサクラエディタや秀丸も使っていたのですが、今ではすっかりVSCodeでメモを取るようになりました。今回はその理由も含めてVSCodeでメモを取る時の私の設定を紹介したいと思います。少しでも作業の生産性を上げたい方、特に議事録作成を少しでも楽にしたいという方の参考になればと思います。

記事のポイント
  • VSCodeでの自動保存の設定方法
  • VSCodeでのスニペット設定方法
  • VSCodeでの議事メモテンプレート紹介
  • VSCodeでのワークスペース設定
  • VSCodeの起動方法と自動メモファイルを作成(PowerShell)

VSCodeでの自動保存の設定方法

私の場合、打ち合わせが終わったあと、次の打ち合わせがスグに始まるため、移動を急ぐというシーンがあります。その際PCを閉じて移動するんですが、会社側の設定でPCを閉じるとログオフされてしまい、全てのアプリケーションが強制終了されてしまいます。この時、絶望を感じるのはファイルを保存していなかった時です。1時間の打ち合わせメモが消えてしまい、心のダメージがかなり大きいです。何気によくやってしまいがちなので、私はこの自動保存の設定にかなり助けられています。

自動保存の設定手順

「ファイル」 > 「ユーザー設定」 > 「設定」の順にクリックして設定画面を開きます。

f:id:nothing-title:20211027214302p:plain

「設定」画面を表示後、画面上部の検索ボックスに「Auto Save」と入力し、「Files:Auto Save」と「Files:Auto Save Delay」の設定欄を表示します。「Files:Auto Save」はデフォルトは「off」になっているため、今回は一定時間間隔で保存できるように「afterDelay」に変更をします。時間間隔は「Files:Auto Save Delay」で「1000」ミリ秒(1秒)に設定をします。

f:id:nothing-title:20211027214912p:plain

設定は入力すると同時に反映がされます。1秒間隔の保存の場合、入力と同時に保存されていくため、データの損失を懸念することがなくなります。

自動保存されないケース

一度も保存していないファイルの場合は自動保存されないため、必ずファイルをデスクトップなどに保存してから作業をしてください。

VSCodeでのスニペット設定方法

スニペットは定形のテキストをあらかじめ登録しておき、必要な場面で呼び出して使うことのできる機能です。雛形の文章や定型文、ソースコードなど普段の作業でよく入力するテキストを登録しておくことで作業の生産性をあげることができます。

スニペット設定方法

「ファイル」 > 「ユーザー設定」 > 「ユーザースニペット」の順にクリックしてユーザースニペット画面を開きます。

f:id:nothing-title:20211027224707p:plain

「新しいグローバルスニペットファイル」を選択します

f:id:nothing-title:20211027225051p:plain

ファイル名を入力(私はglobalと入力しました)してグローバルスニペットファイルを作成します。

f:id:nothing-title:20211027225302p:plain

以下のようにJSON形式のファイルが作成され、表示されます。

f:id:nothing-title:20211027225419p:plain

スニペットファイルの書き方は以下の通り。

                                                                                                 
項目名説明該当箇所
キー名(必須)任意の名前、リストされる候補に表示"Title"箇所
prefix(必須)スニペットを呼び出す文字列"prefix"箇所
body(必須)呼び出されるスニペットの内容"body"箇所
description説明文"description"箇所
{
    "Title": {                                     
        "prefix": "test",                  
        "body": [
            "aaaaaaaaaaaaa",
            "bbbbbbbbbbb"
        ],
        "description": "test"
    }
}

議事メモテンプレートの紹介

ここでは私の議事メモテンプレートを紹介したいと思います。以下を貼り付けていただければ使用可能です。 議事メモでのフォーマットを以下のように用意しておけば、打ち合わせが突然始まっても、内容に集中して記載を始めることができます。 ※ちなみに今回はマークダウン形式のテンプレートにしています。

以下のテンプレート内ではいくつか変数($で始まる文字列)を使用しています。 今回使用したのは以下3つで全て現在の日付を表すための変数です。

  • $CURRENT_YEAR・・・現在年
  • $CURRENT_MONTH・・・現在月
  • $CURRENT_DATE・・・現在日

他の変数を利用したい場合は以下を参照してください。

code.visualstudio.com

{
    "meeting":{
        "prefix": "meeting",
        "body":[
            "# 会議名:",
            "------",
            "##日時  :$CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE",
            "##場所  :○○会議室",
            "##出席者 :☓☓☓",
            "",
            "------",
            "## 決定事項 :",
            "* xxxxxをxxxxとする",
            "* xxxxxをxxxxとする",
            "",
            "## ToDo :",
            "[〇〇さん]xxxxをする(Due:$CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE)",
            "[〇〇さん]xxxxをする(Due:$CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE)",
            "",
            "## 議事内容 :",
            "[〇〇さん]XXXXXXXについて",
            "[〇〇さん]XXXXXXXとしたい",
            "",
            "------",
            "## 次回会議予定 :",
            "$CURRENT_YEAR/$CURRENT_MONTH/$CURRENT_DATE",
            "",
            "以上",
     ],
        "description": "meeting",
 },
    // 追加の場合は以下に追記「"meeting"以降を参照」
}

登録したスニペットの呼び出し

スニペットの登録が完了したら、呼び出したいと思います。Windowsの場合は以下でよびだすことができます。

Ctrl+スペースキー

でスニペットを呼び出すことができます。呼び出すと以下のような画面が表示されます。赤枠に登録したスニペット「meeting」が表示されていることがわかります。スニペットがたくさんある場合は入力欄に入力することで、表示スニペットを絞ることができます。

f:id:nothing-title:20211028174852p:plain

スニペットを呼び出すと以下のように表示されます。変数部分が現在日付が表示されていることが分かるかと思います。

f:id:nothing-title:20211028175802p:plain

私の場合は、上記のテンプレートを元に主要な会議体ごとにそれぞれに特化したひな形を用意しています。特に出席者の欄はテンプレート毎に分けて事前に準備しておくことで無駄な作業を極力減らすように務めています。

VSCodeでのワークスペース設定

ワークスペースはルートフォルダを登録しておくことで、同時に複数フォルダを開くことができる機能です。仕事をしていると頻度高く確認するフォルダが複数出てきます。Windowsのエクスプローラーの機能でクイックアクセスに登録するというのも、該当ディレクトリに早く到達する手段の1つですが、ソースやテキストファイルの閲覧・修正、Excelの閲覧レベル(Excel Viewerという拡張機能が便利です)であれば全てVSCodeで済ませます。その際に画面を切り替えるのは面倒なので、ワークスペースの機能を使って頻度高く確認するディレクトリを登録しています。

ワークスペースへフォルダを追加する方法

「ファイル」 > 「フォルダをワークスペースに追加」の順にクリックしてエクスプローラーの画面を開きます。

f:id:nothing-title:20211028201115p:plain

エクスプローラーの画面でルート(最上位)フォルダとしたいフォルダを選択して「追加ボタン」をクリックします。 (※今回は便宜上C:\Work\Goにしました)

f:id:nothing-title:20211028201619p:plain

以下のような画面が表示された場合は、「はい」をくりっくします

f:id:nothing-title:20211028202004p:plain

以下のように未設定のワークスペースにフォルダが追加されます。

f:id:nothing-title:20211028202429p:plain

同様の方法で、別ののフォルダを追加したのが以下の状態です。 (※今回はC:\Memoを追加しました)

f:id:nothing-title:20211028203157p:plain

ワークスペースの設定を保存

最後にワークスペースの設定を保存して次回以降も同様の設定でワークスペースを開けるようにします。設定を保存していない場合、毎回同じワークスペースを上記の手順で作る必要性が出てきます。「ファイル」 > 「名前をつけてワークスペースを保存」でワークスペースを保存します。保存したファイルは「任意の名前.code-workspace」というファイルになります。

f:id:nothing-title:20211028205207p:plain

VSCodeの起動方法と自動メモファイルを作成(PowerShell)

最後はVSCodeの設定ではないのですが、これまでの設定をした後に、VSCodeを起動時に自動的にメモファイルを作成して起動したいと思い、作ったスクリプトになります。 自動的にファイルを作成したいと思ったのは、わざわざワークスペースを開くための動作や、ファイルを保存してから作業しないといけないという行為すら省略したいと思ったからです。

環境の前提条件

  • Windowsの環境を前提とする
  • 管理者権限をもったユーザーではない

処理概要

バッチファイルでPowershellを起動し、指定したディレクトリにファイルを作成したあとVSCodeをワークスペース指定で起動します。ファイル自体はメモ用のルートディレクトリ配下に参考ファイルを配置しておき、それをコピーするようにします。

バッチファイルの内容は以下のとおりです。(ファイル名はvscode.bat)

powershell -ExecutionPolicy RemoteSigned -File ./vscode.ps1
start code c:\work\workspace.code-workspace

powershellファイルの内容は以下のとおりです。(ファイル名はvscode.ps1でバッチファイルと同じ場所に配置します。)

#ファイル作成先のルートディレクトリを指定
$path = "C:\Memo\"
#処理実行日の日時を年月日時分秒で取得
$date = (Get-Date).ToString("yyyyMMddHHmmss")
$yyyy = $date.Substring(0,4)
$mm = $date.Substring(4,2)
$mmddhhmmss = $date.Substring(4,10)

#年ディレクトリを作成
if (!(Test-Path "$path$yyyy")){
    mkdir $path$yyyy
}

#月ディレクトリを作成
if (!(Test-Path "$($path)$($yyyy)\$($mm)")){
    mkdir "$($path)$($yyyy)\$($mm)"
}

#メモファイルの作成
if (!(Test-Path "$($path)$($yyyy)\$($mm)\$($mmddhhmmss ).md")){
    Copy-Item "$($path)format.md" -Recurse "$($path)$($yyyy)\$($mm)\$($mmddhhmmss ).md"
}

メモファイル作成時にコピー元となるformat.mdの内容は以下のとおりです

スニペットの呼び出し「ctrl+スペースキー」(以下例)
meetingと入力してメモ用フォーマットを呼び出す

バッチファイルを実行すると以下のようにMMddHHmmss.md(以下キャプチャでは1028220210.md)ファイルが指定した年月フォルダ(以下キャプチャでは2021/10)に作成されていることがわかります。

f:id:nothing-title:20211028220309p:plain

新規ファイル作成をせず、format.mdをコピーするとした理由は自分を疑ったためです。スニペットがあること忘れないようにするために、今回はコピーという方法をとりました。

まとめ

今回はVSCodeでメモを取るために準備したVSCodeの設定と、プログラムを紹介しました。プログラムの部分はわざわざPowerShellを使わなくても、バッチファイル側でも同様のことはできます。最初にPowerShellでやろうとして、環境上の問題で完結できないことを把握し、急遽バッチファイルを用意したため、今回はプログラムを分ける形での紹介となりました。その他にもExcelViewerやマークダウン記載、設定の詳細については触れていないため、また別記事でご紹介できたらと思います。

少し長い記事なりましたが、今回の記事が参考になり、読んで頂いた方の生産性アップにつながっていれば幸いです。最後まで読んでいただきありがとうございました。

以下は参考書籍です。