Follow US
facebook twitter
NO. 206
TECH BLOG
じげんのテック

VSNotesでシェルコマンドを管理したい

12.04.2022

目次

  1. はじめに
    1. 対象の読者
    2. 対象ではない読者
    3. 今回紹介する拡張機能
    4. この記事で得られる知見とメリット、デメリット
  2. VSNotes構築手順
    1. セットアップ
    2. phpやrubyのファイルを実行可能にする
    3. .bashrc.zshrcもVSNote上で編集したい
    4. VSNoteのタグ機能を使ってみる
    5. シェルコマンドファイルにタグをつけたい
    6. .bash_profileにヒアドキュメントのエイリアスを設定する
    7. 2-7. 特定のシェルだけでエラーが出てしまう場合
  3. おわりに

はじめに


こんにちは。株式会社じげんの「シェルの魔改造が大好きなエンジニア」です。

比較メディアを複数運営しているパートナーソリューションDiv.で「結婚相談所比較ネット」の要件定義、開発、運用保守を担当しています。

今回はシェルの話を少しだけ絡めつつ、VSCodeの拡張機能の紹介をしていきます。

対象の読者

 

  • VSCode上だけでphpやrubyの動作確認をしたい人
  • rcファイルをよく触るけどviやvimで編集するのが苦手な人

対象ではない読者

 

  • vimがあれば編集も動作確認も全て解決してしまう人

今回紹介する拡張機能

 

  • VSNotes
    • VSCode上のサイドバーからメモを読み書きできる拡張機能でタグをつけて種類別で分けることも可能です。
    • とてもシンプルな拡張機能ですが、使い方次第ではとても便利なものになります。

この記事で得られる知見とメリット、デメリット

 

  • この記事を読むと何ができるか
    • VSCode上で実行ファイルの編集、実行が手軽に行えるようになります。
    • メモファイルとrcファイルをタグ分けできるようになります。

 

  • メリット
    • 簡易的な動作確認が手元ですぐできるようになります。
    • よくアクセスするファイルにVSCode上のどこからでもすぐアクセスできるようになります(ワークスペースが別でも可)。

 

  • デメリット
    • rcファイルのタグ分けを行います。こちらは少し強引なやり方ですので、お気に召さない方もいるかもしれません。

VSNotes構築手順

セットアップ

 

  1. まずはインストール

https://marketplace.visualstudio.com/items?itemName=patricklee.vsnotes

  1. VSNotesのメモを保管するフォルダが必要になるので好きな場所に作成します。
  2. VSCodeに戻って command + shift + p を押して vsnotes run`と入力して Run setup を実行します。
  3. VSNotes用のフォルダを聞かれるので先程 1. で作成したフォルダを選択してください。
  4. VSCodeを再起動します。
  5. フォルダとその中身が表示できるようになっているのが確認できたらセットアップ完了です!

phpやrubyのファイルを実行可能にする


VSNotesのフォルダの配下にhoge.phpを作成して 中に<?= aa等実行可能なコードを書いて保存します。

次はphpのファイルを実行するaliasを登録します。

bashなら.bashrcに zshなら .zshrc

alias phprun=’php -f 【phpのファイルまでのパス】’

を追記します。

追記したaliasを使えるようにするには一度再起動する必要があるので

exec $SHELL -l を実行してみましょう。

これで phprunを実行するとVSNotesで編集した内容がコマンドライン上で実行できるようになります。

.bashrcや.zshrcもVSNote上で編集したい


VSNotesは隠しファイルが表示されないので .bashrc.zshrc 等を入れても見えません。

ですが、シンボリックリンクだと表示してくれてアクセスも可能(権限とか渡してあげる必要はあるかも)なので編集したい隠しファイルのエイリアスをVSNotesのフォルダの中に入れてあげると隠しファイルでも編集が可能になります。

VSNoteのタグ機能を使ってみる


VSNotesのメモにはタグをつけて種類ごとに分けることが可能です。

タグをつけている様子


こんな感じにファイルの先頭に書くと`rc`というタグが生成されて同じタグが付けられたものだけまとめてくれる機能があります。

これを使ってファイルの整理ができるので今回はrcファイルにタグを付けたいと思います。

シェルコマンドファイルにタグをつけたい


つけたかったけど…タグ識別用の文字列はファイルの先頭に書かないと機能しないようでした。

そのまま書くと全てコマンドとして認識されて、--- なんてコマンドないよって怒られます。

でもどうしてもタグをコマンドファイルにつけたいので、お世辞にも綺麗とは言えないけど実現はできたよ!っていう方法を紹介します。

.bash_profileにヒアドキュメントのエイリアスを設定する


.bash_profileの中で読み込んでいる source .bashrcより上に

alias -- ---=’<< ---’ を追加してVSNoteのタグ認識の文字列の ---をヒアドキュメントとして見るように設定します。

 

こうするとシェルでは先頭の---から次の---までがコメント化され、VSNoteでは今まで通りタグの識別用の文字列として認識してくれるようになり、エラーが解消されます。

特定のシェルだけでエラーが出てしまう場合


これについて書きたいのは山々ですが長くなってしまうのでここでは解説しません、コマンドラインシェルとログインシェル、インタラクティブシェルの違いについて調べてみると解決すると思います!

おわりに


VSNotesの魅力は伝わったでしょうか?

普段はvimで編集するようなファイルの編集も手軽にできて、学んだ内容を記録として残すこともでき、さらには、どこからでも呼び出せるシンプルさを持ち合わせた最強拡張機能ですので気に入ったら、ぜひ周りの方にもおすすめしてみてください!

まだ語り足りない気持ちもありますが、今回はこの辺で終わりにします!

最後までお読みいただきありがとうございました!


SHARE
  • facebook
  • twitter
Top