VSCodeのおすすめ設定・拡張機能
はじめに
本記事では,筆者の MacBook Pro にインストールされている Visual Studio Code,通称VSCodeの設定・拡張機能を紹介していきたいと思います.
余談
筆者は普段下記の様な AI を作成したりしています!
興味があればぜひ覗いていってみてください↓
環境
| PC | MacBook Pro (16-inch, 2019) |
|---|---|
| OS | Monterey |
| CPU | 2.3 GHz 8コアIntel Core i9 |
| メモリ | 16GB |
VSCodeの設定
本節では,全て⌘ + ,でSettingsを開いて検索することで設定をしていきます.
保存時に行末の余分なスペースを削除する
検索窓にfiles.trimTrailingWhitespaceと検索し有効にします.

保存時にファイル末尾に改行を入れる
検索窓にfiles.insertFinalNewlineと検索し有効にします.

汎用的な拡張機能
本節では,プログラミング言語にとらわれない汎用的なVSCodeの設定及び拡張機能を紹介します.
Chose A License
VSCodeで GitHub Licenses API を利用してプロジェクトのライセンスを簡単に作成することができます.
公式ドキュメントはこちら↓

Error Lens
エラー表示を問題タブではなくインライン表示しハイライトをしてくれる便利な拡張機能です.
公式ドキュメントはこちら↓

flake8との連携
まず,flake8の path を確認します.
which flake8
# /usr/local/bin/flake8
VSCodeで⌘ + ,でSettingsを開いてflake8と検索し,筆者の場合は以下の設定にしました.

Excel Viewer
エクセルやCSVファイルをVSCode上で見やすくしてくれる拡張機能です.業務上CSVファイルを扱うことが多いので重宝しています.
公式ドキュメントはこちら↓

Git Graph
VSCode上でGitの履歴を確認することができる便利な拡張機能です.
公式ドキュメントはこちら↓

gitignore
選択した言語の.gitignoreを自動で生成してくれる便利な拡張機能です.
公式ドキュメントはこちら↓
indent-rainbow
インデントされたものをカラフルに彩ってくれるので見やすくなり,ミスが減る様な拡張機能です.
公式ドキュメントはこちら↓

Material Icon Theme
VSCodeでフォルダやファイルのアイコンを変更することができます.
公式ドキュメントはこちら↓
![]()
Trailing Spaces
行末の余分なスペースやタブを赤く可視化してくれる便利な拡張機能です.
公式ドキュメントはこちら↓
zenkaku
コーディングに不必要な全角スペースを白く可視化してくれる便利な拡張機能です.
公式ドキュメントはこちら↓

Python向けの拡張機能
Python
Pythonを使用するにあたって必要なものです.
公式ドキュメントはこちら↓

Python Environment
Pythonの仮想環境をGUIで確認・操作することが可能です.
公式ドキュメントはこちら↓

Python Indent
Python特有のインデントブロックを自動で適用してくれる便利な拡張機能です.
公式ドキュメントはこちら↓

Jupyter
VSCode上でJpyter Notebookを扱うために必要な拡張機能です.
公式ドキュメントはこちら↓

autoDocstring
Pythonのコード内にコメントを書いて残す際のテンプレートを出力してくれます.
公式ドキュメントはこちら↓

PyTorch Snippets
Pythonで機械学習をさせるのに利用するPyTorchのスニペットです.PyTorchを使用する方はぜひインストールしましょう.
公式ドキュメントはこちら↓

期待しない動作
現在のバージョン ( 1.0.2 ) では,期待しない動作をするコードも存在しています.
必要なければ読み飛ばしてください.
# pytorch:init
def init_weights(m) -> None:
"""Initialize model weights. Defaults to True.
Args:
m (nn.Module): The model.
"""
classname = m.__class__.__name__
if classname.find("Linear") != -1 or classname.find("Bilinear") != -1:
nn.init.kaiming_uniform_(
a=2, mode="fan_in", nonlinearity="leaky_relu", tensor=m.weight
)
if m.bias is not None:
- nn.init.zeros(tensor=m.bias)
+ nn.init.zeros_(tensor=m.bias)
elif classname.find("Conv") != -1:
nn.init.kaiming_uniform_(
a=2, mode="fan_in", nonlinearity="leaky_relu", tensor=m.weight
)
if m.bias is not None:
- nn.init.zeros(tensor=m.bias)
+ nn.init.zeros_(tensor=m.bias)
elif (
classname.find("BatchNorm") != -1
or classname.find("GroupNorm") != -1
or classname.find("LayerNorm") != -1
):
nn.init.uniform_(a=0, b=1, tensor=m.weight)
- nn.init.zeros(tensor=m.bias)
+ nn.init.zeros_(tensor=m.bias)
elif classname.find("Cell") != -1:
nn.init.xavier_uniform_(gain=1, tensor=m.weiht_hh)
nn.init.xavier_uniform_(gain=1, tensor=m.weiht_ih)
nn.init.ones_(tensor=m.bias_hh)
nn.init.ones_(tensor=m.bias_ih)
elif (
classname.find("RNN") != -1
or classname.find("LSTM") != -1
or classname.find("GRU") != -1
):
for w in m.all_weights:
nn.init.xavier_uniform_(gain=1, tensor=w[2].data)
nn.init.xavier_uniform_(gain=1, tensor=w[3].data)
nn.init.ones_(tensor=w[0].data)
nn.init.ones_(tensor=w[1].data)
elif classname.find("Embedding") != -1:
nn.init.kaiming_uniform_(
a=2, mode="fan_in", nonlinearity="leaky_relu", tensor=m.weight
)
番外編
Powerlevel10k
ターミナルのデザインを自分好みに変更することができます.
VSCodeのターミナルにも適用させることができるのでぜひ試してみてください!!
公式ドキュメントはこちら↓

以下のコマンドで設定することができます↓
$brew install romkatv/powerlevel10k/powerlevel10k
$echo "source $(brew --prefix)/opt/powerlevel10k/powerlevel10k.zsh-theme" >>~/.zshrc
おわりに
本記事では,筆者が実際に MacBook Pro で使用しているVSCodeの設定及び拡張機能についてまとめました.
良いものが見つかり次第随時更新していく予定なので,ご意見お待ちしています!!
Discussion