VS Code拡張・設定備忘録

各種環境を整える際に参照したサイトや、個人的に便利で入れている拡張、問題とその対処方法をここにまとめる。

- とくにVS Codeの最新情報をチェックしているわけではないので、時代遅れなことが書かれているかも
- 随時更新
- 拡張を複数紹介している記事をそのまま載せていたりもするので、拡張に重複の可能性あり（バッティングはおそらくない）

## 全般

### 改行コード

うっかりシェルファイルをCRLFコードで記述していても気づきやすいよ。

- 改行コードを可視化する拡張→[code-eol](https://marketplace.visualstudio.com/items?itemName=sohamkamani.code-eol)

#### 参考

[VS Codeで改行コードを変更するには](https://www.atmarkit.co.jp/ait/articles/1809/14/news025.html)

### テキスト内容の比較（差分）

- コードの特定行のみ差分をとって比較できる拡張→[Partial Diff](https://marketplace.visualstudio.com/items?itemName=ryu1kn.partial-diff)

#### 参考

[VSCode で選択した文字列同士を比較できる拡張機能 Partial Diff](https://loumo.jp/archives/23051)

### シェル

- 複数のシェルを選択して開ける（コマンドプロンプト、Git Bash、PowerShell、WSL等）→[vscode-shell-launcher](https://github.com/Tyriar/vscode-shell-launcher)
- デフォルトで開くシェルを指定する→`"terminal.integrated.shell.windows": "シェルの実行ファイルまでのパス"`を`settings.json`に追加

### 空白（スペース）削除

基本的に余計なので自動で削除してもらうよ。

- ファイル末尾の余計な空白は保存時に削除されるように設定する→[[Sy] Visual Studio Code でファイル末尾の余分な空白行を自動削除するための設定](https://utano.jp/entry/2018/01/visual-studio-code-trim-final-new-lines/)
- 行末尾の余計な空白は保存時に削除されるように設定する→[Visual Studio Code で保存時に行末尾の空白を自動で消す](https://qiita.com/iwata-n@github/items/39dc0e4391277589878b)

### スニペット

よく書くのに長ったらしいテキストはスニペットとして登録してショートカット的に呼び出せると時短になるよ。

- [Visual Studio Code ソースコードはスニペットと「Ctrl + space」で書いちゃいなよ](https://mseeeen.msen.jp/vscode-snippet/)
- [会議を爆速にする、Visual Studio Code 超便利スニペット集](https://qiita.com/kitfactory/items/31cdf80cf1d3d8b42de8)

### タブ、インデント

`settings.json`ファイルに直接記述するor Settings（設定）でGUI操作ができるよ（設定画面で`editor.detectIndentation`を検索）。

- ファイルの形式に合わせてタブやインデントの設定を上書きしないようにする（自動判別しないようにする）→`editor.detectIndentation=false`
- タブをスペースに自動置換→`editor.insertSpaces=true`
- 空白スペースやタブを可視化→`editor.renderWhitespace=all`
- タブサイズを指定（数字は半角スペース）→`editor.tabSize=4`
- 言語ごとに設定する場合→`"[language]": {ここに設定項目}`のように記述（[【VSCode】言語ごとにインデント幅、タブとスペースどちらを使うか設定する - Qiita](https://qiita.com/riekure/items/2b344129dbe5e2507e48)）

#### 参考

[VS Codeでインデントを設定するには](https://www.atmarkit.co.jp/ait/articles/1805/25/news039.html)

### 文章校正

- 英語のスペルチェックを簡単に実装できる（無視する単語の追加やスペルチェック対象拡張子の追加等についてはリンク先の公式ドキュメントを参照）→[Code Spell Checker](https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker)
- ら抜き言葉や二重否定等、日本語文章の校正→[テキスト校正くん](https://marketplace.visualstudio.com/items?itemName=ICS.japanese-proofreading)
- 日本語英語かかわらず、詳細に設定したい（`.txt`、`.md`、`tex`等の一部拡張子のみ対応）→[textlint と VS Code で始める文章校正](https://qiita.com/takasp/items/22f7f72b691fda30aea2)

### 印刷

ひとつは[PrintCode という拡張機能](https://blog.bulkus.net/post/printcode/)を使う、これだと印刷を手早くそこそこの読みやすさで行える

- 利点としては行番号の表示や一行に収まらない場合は自動で改行してくれるのでテキスト（コード）がページ端で切れないこと等
- 欠点としてはFortranに対応していないため`.f90`等を印刷しようとするとシンタックスハイライト（色付け）してくれないので分かりづらい

別の方法として

  1. Markdown形式で新規ファイルを作成し印刷したい内容をペースト
  1. プレビューをブラウザで開く（ex. Chrome）
  1. ブラウザの印刷機能で印刷

- これならコードブロックでFortranも色付けしてくれるし、Markdownなのでそこそこスタイルに自由度が効く
- ただし上記拡張と異なり自動で改行してくれないため、横に少しでも長いコードだとページ端が切れた状態で印刷されてしまう

### 設定をまるごとコピーする

- 使っていないが、公式設定でMicrosoftまたはGitHubアカウントを使ったデバイス間データ同期が行える→[【スクショ付】VSCodeの公式Settings Sync（設定同期）を入れてみました](https://qiita.com/tomokei5634/items/7a1978e5a140effa5782)
- 公式が対応する前までは個人開発の設定同期拡張を入れておくのがデフォだった（今から始めるなら公式が無難）→[【初心者】VSCodeの設定同期エクステンション「Setting Sync」](https://qiita.com/tomokei5634/items/22128efe306ce9bc5682)
    - 上記拡張で保存している私の設定はこれ（アクセストークンがないので設定を上書きされることはない、はず）→[GitHub Gistページ](https://gist.github.com/Nyshiyama/f744f818293837558df6217c36b4de0b)
- VS Codeをインストールしていない環境でもポータブルモードのVS Codeなら利用可能→[VS Codeを持ち運ぶには（ポータブルモード）](https://www.atmarkit.co.jp/ait/articles/1807/20/news023.html)
- 赤の他人向けに、ファイルを直接コピーしてプレゼントしてあげることが可能（ファイルパス等の細かい設定は別途行う必要があるが）→[VisualStudioCode(VSCode)の設定引き継ぎ](https://pg.4696.info/other/vscode-setting.html)

#### 参考

[GitHub Gistでソースコードを公開する](https://note.com/ojk/n/nc18e9a15af2a)

## Git

- `"git.path": "git.exeまでのパス"`を`settings.jsonファイルに追加
- [Visual Studio Code で Git の履歴を素敵に表示する Git Graph](https://qiita.com/dbgso/items/4a2c6ab221eba00f19a9)

## Markdown

[Typora](https://typora.io/)は脳死で環境が整うけど、VS Codeも設定さえすれば勝るとも劣らない環境ができるよ。

- [Visual Studio Code で Markdown 編集環境を整える](https://qiita.com/kumapo0313/items/a59df3d74a7eaaaf3137)
- [Excelの表をコピペでマークダウン形式にしてくれる拡張: Excel to Markdown table](https://marketplace.visualstudio.com/items?itemName=csholmq.excel-to-markdown-table)
- スライドをマークダウン形式で作成→[【VS Code + Marp】Markdownから爆速・自由自在なデザインで、プレゼンスライドを作る](https://qiita.com/tomo_makes/items/aafae4021986553ae1d8)
- Markdownならフローチャート等の業務フロー図もテキストベースで描くことができるが、mermaid形式で描こうとしたときにプレビューでバグったときの対処方法→[MPE(MarkdownPreviewEnhanced)でmermaidのグラフが真っ黒になる問題](https://qiita.com/tyKeP/items/63fd83466399d212d2e4)

## TeX

論文をVS Codeで書けるようになるよ。

- [VS Code で TeX を使う方法](http://elecho.hatenablog.com/entry/2017/04/27/175500)
- 色々なコンパイル方法を選択できるようにする→[Visual Studio Code で TeX のコンパイルをできるようにする方法](https://qiita.com/SUZUKI_Masaya/items/7fb5509006163e7e671f)
- [VSCode の LaTeX Workshop 5.3.1 で TeX をコンパイルできなくなったときの対処法](https://qiita.com/otsuka_kohei/items/fb832a79ea3db9d8429b)

## Fortran

GPGPUの隆盛で（CUDA）Fortranが注目されているはずだよ。

- ひとまず[Modern Fortran](https://marketplace.visualstudio.com/items?itemName=krvajalm.linter-gfortran)を入れておく
- `.cuf`を`.f90`と同じ言語モードで（Fortranの設定上で）開く→[【Visual Studio Code】拡張子を言語モードに関連付ける方法](https://pg.kdtk.net/1336)
- もっと拡張したければ→[Fortran 使いの皆さん、エディタに Visual Stadio Code はいかがですか](https://qiita.com/tamaki_osamu/items/dcfda47c082669fa9beb)

## おまけ

- ショートカットはちょっとずつでも覚えていくと効率アップ→[VS Code の便利なショートカットキー - Qiita](https://qiita.com/12345/items/64f4372fbca041e949d0)

### 上記以外で参考にした記事

- [AtomユーザもSublimeユーザも、死角が無いエディタ「VS CODE」に乗り換えよう](https://hirata.blog/201807_vs-code-introduction/)
- [VS Code（Visual Studio Code）エディタを便利に使うための拡張機能](https://karaage.hatenadiary.jp/entry/2018/10/01/073000)