6.0 KiB
author | draft | categories | date | tags | keywords | title | relpermalink | url | decription | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
usbharu | false |
|
2025-02-28T00:14:48+09:00 |
|
|
VSCodeの設定がいい感じになってきた | posts/2025-02-28/ | posts/2025-02-28/ | VSCodeの設定がいい感じになってきた |
コードエディタ、何使ってますか? 僕はAtom派だったんですが、なくなっちゃったのでVSCode使ってます。学校とかでも結構これを勧められることが多いんじゃないでしょうか。僕は特にこだわりとかはなく、プラグインが豊富で補完がある程度使い物になるコードエディタと言ったらもうこれぐらいしか無いので使ってます。
プログラミングするときは基本的にIDE使うんですが、RustとフロントエンドはVSCodeで書いています。
拡張機能
主にJS/TSとRustに関連するプラグインのみインストールしています。Reactとかは必要なプロジェクトのみで有効化したりしていますが、あんまりこだわりはないです。
IntelliSense系
- IntelliCode
- IntelliCode API Usage Examples
- IntelliSense for CSS class names in HTML
- HTML CSS Support
- Path Intellisense
フロントエンドとかGUIで使う系
僕はバックエンドでJS/TSは使わない(使うときはWebStorm使う)のでJS/TS系もここに入れています。
- Biome
- JavaScript and TypeScript Nightly
- Tauri
- IntelliSense for CSS class names in HTML
- HTML CSS Support
Rust系
Docs ViewとかError LensとかはRustでしか使わないのでここに入れた。今後Rustのデバッグ関連増えていきそうな予感
- Tauri
- rust-analyzer
- Serial Monitor
- Docs View
- Error Lens
- Even Better TOML
その他
Dockerは正直いらんかも
- Japanese Language Pack for Visual Studio Code
- Docker
- Code Spell Checker
- Markdown All in One
- YAML
- WakaTime
設定
本体の設定系
workbench.startupEditor
起動時の画面
"workbench.startupEditor": "none"
起動時にそんな画面要らないよね
editor.wordWrap
折り返しの設定
"editor.wordWrap": "on"
これの設定ステータスバーから変更できるようにしてほしい
window.autoDetectColorScheme
ダークモードをシステムのモードとあわせる
"window.autoDetectColorScheme": true
Auto Dark Mode(Windowsのソフト)とかと合わせていい感じ
editor.suggest.showKeywordsとeditor.suggest.showWords
サジェストに文中の単語を表示するか
"editor.suggest.showKeywords": false
"editor.suggest.showWords": false
IntelliSenseとかの賢い補完以外は邪魔なので無効化
emmet.showExpandedAbbreviation
なんかよくわからないけどhtmlのタグとかを簡単に出せる機能らしいです。
"emmet.showExpandedAbbreviation": "inMarkupAndStylesheetFilesOnly"
最っっっっ高に邪魔なのでhtml/css以外で無効化 なんでこれ既定値がalways
なんだよ
editor.linkedEditing
htmlタグをいい感じに編集できるようになったりする
"editor.linkedEditing": true
便利
explorer.confirmDelete
ファイルの削除時に聞かない
"explorer.confirmDelete": false
まぁうざいよね
files.autoSaveとfiles.autoSaveWhenNoErrors
エディターがフォーカスを失ったときに自動で保存
"files.autoSave": "onFocusChange"
ファイルにエラーがあったときは自動保存しない
"files.autoSaveWhenNoErrors": true,
これはホットロードが結構使われてるフロントエンド界隈だと便利かも? Tauri&Rustの組み合わせと相性は悪いみたいですが…
Git系
git.autofetch
定期的にgit fetchしてくれるやつ
"git.autofetch": true
まぁ便利
git.confirmSync
gitで同期前(pullかな?)に確認をしない
"git.confirmSync": false
git.enableSmartCommit
ステージされた変更がゼロのときは自動で全部の変更をコミット
"git.enableSmartCommit": true
たまにやらかすけど便利
言語系
Rust
多いのでまとめて
"rust-analyzer.inlayHints.bindingModeHints.enable": true,
"rust-analyzer.inlayHints.closureCaptureHints.enable": true,
"rust-analyzer.inlayHints.closureReturnTypeHints.enable": "always",
"rust-analyzer.inlayHints.discriminantHints.enable": "always",
"rust-analyzer.inlayHints.expressionAdjustmentHints.enable": "always",
"rust-analyzer.inlayHints.genericParameterHints.lifetime.enable": true,
"rust-analyzer.inlayHints.genericParameterHints.type.enable": true,
"rust-analyzer.inlayHints.lifetimeElisionHints.useParameterNames": true,
"rust-analyzer.inlayHints.rangeExclusiveHints.enable": true,
"rust-analyzer.inlayHints.reborrowHints.enable": "always",
"rust-analyzer.inlayHints.typeHints.hideClosureInitialization": true,
"rust-analyzer.inlayHints.typeHints.hideNamedConstructor": true,
とにかく全ての情報を表示する設定になっています。必要な~と思ったらだんだん消していこうかなと
"rust-analyzer.check.command": "clippy"
Lintをclippyに変更 Rustをメインで使っている分野が組み込みなので実行前にできるだけ不確定要素(?)を減らしたいのでちょっと重いけどClippy使ってます。
JS/TS
関数の補完時にカッコを入力する
"javascript.suggest.completeFunctionCalls": true
"typescript.suggest.completeFunctionCalls": true
逆になんでカッコ入らないの設定がデフォルトなのか
さいごに
こんなもんじゃないでしょうか。さすがにIDEと比べると全然機能不足って感じですが、軽量なことを考えると十分使えると思います。他に強化するとしたらあとは後置補完とか、リファクタリング機能とかですかね。あんまりやりすぎて重たくなったら本末転倒なのでいい塩梅を見つけたいです。