VSCodeの拡張機能の備忘録

VSCodeの拡張機能の備忘録

VSCodeを使おうかと思って拡張機能をいろいろとチェックしていたけど、多すぎてよくわからなくなりそうなので備忘録。


Material Theme

アイコンがわかりやすくなる

Material Icon Theme

拡張子に合わせてアイコンを表示してくれる拡張機能です。

Japanese Language Pack for Visual Studio Code

VSCodeを日本語化してくれる

Bracket Pair Colorizer 2

対応するかっこの色を変えて強調してくれる

indent-rainbow

インデントを虹色に表示してくれる拡張機能です。

Rainbow CSV

csvやtsv形式のファイルで列ごとに色分けして表示してくれる拡張機能です。

Git Graph

コミット履歴をツリー形式で表示してくれる拡張機能です。

GitLens

コミット履歴をツリー形式で表示してくれる拡張機能です。

Tabnine

コード補完機能

Git History

サイドバーにGitLensのアイコンが表示されます。
リポジトリ一覧からブランチのコミット履歴を確認できたり、ファイル履歴、行履歴、コミットの検索等が行えます。

Draw.io Integration

Draw.ioのVSCode拡張機能です。

SQLite

SQLiteを実行できる

SQL Formatter

SQLを整形できる

Markdown Preview Enhanced

プレビューの表示を見やすくする

MarkDownのプレビューは下記のCSSにカスタマイズ

(コマンドパレット:>markdown preview enhanced:customize css)


.markdown-preview.markdown-preview {
  // modify your style here
  // eg: background-color: blue;
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: "Gothic-UI";
    font-size: 1.2em;
  }

  body {
    font-family: "Gothic-UI";
  }
  [class*="language"] {
    font-family: "MyricaM M";
  }
  .task-list-item-checkbox {
    font-family: "Gothic-UI";
    font-size: smaller;
  }
  /**以下の部分**/
  h1 {
    counter-reset: chapter;
    font-size: 1.8em;
    border-style:solid;
    border-width: 0 0 3px 0;
  }

  h2 {
    counter-reset: sub-chapter;
    font-size: 1.5em;

    border-style: solid;
    border-color: silver;
    border-width: 0 0 1px 0;
  }

  h3 {
    counter-reset: section;
    border-style: solid;
    border-color: rgb(99, 99, 99);
    border-width: 0 0 0.5px 0;
  }

  h2::before {
    counter-increment: chapter;
    // content: counter(chapter) ". ";
  }
  h3::before {
    counter-increment: sub-chapter;
    // content: counter(chapter) "." counter(sub-chapter) ". ";
  }
  h4::before {
    counter-increment: section;
    // content: "(" counter(section) ") ";
  }
}


Markdown All in One

マークダウンに必要な機能がいろいろと入っている

Project Manager

複数のプロジェクトを同時に開くことができるようになる

Tabnine

コード補完機能

気になる機能

Pandoc

Markdownを利用してWordファイルを作成できるようになりたいけど、pandocをインストールする必要があるみたいなので悩ましい。

VBAで画像を表示し、スクロールバーを表示させる


◆概要
 VBAのフォームに画像を表示する際に、スクロールバーを付けて表示させる。
同じ様式の画像の差異をチェックするために、Excelの選択行にファイルパスを設定して起き、カーソル移動で画像の表示を変更する。
スクロールバーを表示させるためにFrameコントロールを利用するが、ScrollHeightとScrollWidthに設定する値が難しい。いろいろとネットを見ているとLoadPictureで読み込んだ画像に「24/635」をかけることで、画像プロパティの詳細設定にある幅、大きさを算出することができる。0.0378をかけているサンプルも多い
※24はビット深さ?635はわからない・・・。
    Dim obj As Object
    Set obj = LoadPicture(fstrPath)
    '画像の大きさはピクセルなので単位変換
    'MsgBox "H" & CLng(obj.Height * 24 / 635) & " W" & CLng(obj.Width * 24 / 635)
    Frame1.ScrollHeight =  CLng(obj.Height * 24 / 635)
    Frame1.ScrollWidth = CLng(obj.Width * 24 / 635)
なんだか係数の理由がわからないのが怖いので、今回はImageコントロールを使って幅と大きさを取得する。

◆ユーザーフォームのマクロ

画面上にImageコントロールとFrameコントロールを配置する。
fstrPathには画像パスを設定する。
------------------------------------------------------------------

Public fstrPath As String
Public Sub SetImage()
    Dim obj As Object
    Set obj = LoadPicture(fstrPath)
    
    'AutoSizeをTrueにしておいて画像に合わせてImageコントロールのサイズが変わるようにしておく
    Image1.Visible = False
    Image1.AutoSize = True
    Image1.Picture = obj
    
    Frame1.ScrollBars = fmScrollBarsBoth
    Frame1.ScrollHeight = Image1.Height
    Frame1.ScrollWidth = Image1.Width
    Frame1.Picture = obj

    '◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
    '必要であればスクロールの初期値位置を設定する
    Frame1.ScrollTop = 500
    Frame1.ScrollLeft = 200
    Frame1.Zoom = 80
    '◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
    
End Sub

◆シート側のマクロ

ユーザーフォームを先に宣言しておいて、表示したままExcelの選択行が変わったタイミングで画像だけ入れ替える。画像を見ながらひたすらEnterキーを押すことで画像だけ切り替えることができる。
------------------------------------------------------------------
  
Private frm As UserForm1
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  '例として画像のパスをA列の1行目から6行目までに設定
    If 1 <= Target.Row And Target.Row <= 6 Then
        If frm Is Nothing Then
            Set frm = New UserForm1
            frm.Show vbModeless
        End If
        
        frm.fstrPath = Sheet1.Range("A" & Target.Row)
        frm.SetImage
        Sheet1.Select
        
    End If
End Sub


PowerShellでEdgeを自動化(インストール不要。参考:郵便追跡サービス自動操作)

1.経緯について  RPAのソフトをインストールできないので、これまでVBSでCreateObjectでブラウザの自動操作をすることがたまにあった。 ※いざというときの手札として持っているだけで安心感が段違い  見た目上IEがインストールされていなくても、CreateObject...