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