Visual Studio Codeの拡張とか初期設定とか
約一年半の沈黙を破り更新。
いや沈黙というか普通にサボってただけなんだが・・・
社会人になってもコンスタントに更新できるだけの気力があるかどうかはわからない。
でもできるだけ勉強したこととかを更新していきたい
エディタの話。最近Visual Studio Codeに乗り換え、いい感じなので初期設定などをメモしておく。
自分は最初Sublime textを使ってたが、拡張の設定などが煩雑であまり好きになれなかった。
あと「これ無料版やで!気に入ったら買ってや!」っていうポップアップも地味に鬱陶しかった。。
なのでAtomに切り替えたのだが、拡張を入れていくとかなり重くなってしまい、ついにイライラがピークに達したのでリストラした。
- 拡張を入れても十分軽い
- gitやターミナルにデフォルトで対応
- デバッグ機能も最初から搭載
と、かなり使い勝手が良い。
というか最初からある程度の機能が備わっているので、拡張を入れずともそこそこ使えるのである。
それがVSCodeの魅力とも言える。
逆に不便に感じたことは
- 複数プロジェクトを同時に開けない
- たまにauto formatが効かない(OS依存?)
などがある。
異なる場所にあるディレクトリをサイドバーで同時に開く機能がVSCodeにはないらしい。
シンボリックリンクを使う方法もあるようだが、まあデフォで対応してくれたらその方が嬉しい。
あとubuntuで使用してる時にpythonのauto formatが効かない時がある。
これに関してはよくわからん。誰か直してくれ(他力本願)
とまあ色々あるがいい感じなので初期設定をメモしておく。
当方現在はpythonがメインなのでpython系の拡張が多いです。
拡張
Atom Keymap
その名の通り、Atomのキーバインドをそのまま持ち込める。
もちろんVSCode内でキーバインドをカスタムすることもできるが、他のエディタに慣れた人ならそのまま使えるのが良い。
Sublime Text Keymapもありますよ。
Shortcuts
画面下のステータスバーにターミナルなどのショートカットを追加する。
あんま使わないけどあったら便利か?
file-icons
サイドバーのアイコンが変わる。
いっぱい種類があるので調べて見ると楽しいかも。
LaTeX Workshop
latexがビルドできるようになり、pdfファイルをvscode内のtabで表示できる。
pdfはブラウザでも表示できる。
シンタックスハイライトやオートフォーマットも追加される。便利。
詳しくは以下
qiita.com
VSCode でLatexの日本語環境を作る · GitHub
Project Manager
プロジェクトを切り替えるコマンドを追加できる。
上述の通り、VSCodeではサイドバーで異なる場所にあるディレクトリを同時に開くことができない。
代案としてこの拡張を使えば、同時には開けないが切り替えはスムーズにできる。
Python系
とりあえず入れた。シンタックスハイライトやらスニペットやらが追加される。
この中でも`Python`はpythonでコーディングするなら必ず入れる。lintとCode formatが使えるので便利
Setting Sync
非常に便利。gistを使って複数の端末で設定を共有できる。
利用するにはGithubアカウントが必要になる。利用方法は以下を見ればわかりやすい
marketplace.visualstudio.com
設定
Macなら設定ファイルは`/Users/ユーザー名/Library/Application Support/Code/User/settings.json`に書かれているが、
VSCodeで⌘ + ,
でGUI的に設定できる。windowsやlinuxならctl+,
だと思う
ここに設定を書き込むわけだが、検索して変えたい設定をクリックするだけで設定ファイルに自動で記述される。
例えばエディタ内のルーラの位置を変えたければ、検索窓にrulersとか入れて出てきた設定を選択すればよい。
拡張の設定もここで変えられる。
以下に自分の設定をのせとく
【18/2/1 更新】
{ "editor.multiCursorModifier": "ctrlCmd", "editor.formatOnPaste": true, "editor.renderWhitespace": "all", "python.linting.pylintEnabled": false, "python.linting.pep8Enabled": true, "editor.wordWrap": "on", "editor.rulers": [ 80 ], "[python]": { "editor.rulers": [ 79 ] }, "editor.formatOnSave": true, "[latex]": { "editor.formatOnSave": false }, "latex-workshop.latex.toolchain": [ { "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%" ] }, { "command": "pbibtex", "args": [ "%DOCFILE%", "-kanji=utf8" ] }, { "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%" ] }, { "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%" ] } ], "latex-workshop.latex.autoBuild.onSave.enabled": false, "editor.renderControlCharacters": true, "workbench.startupEditor": "newUntitledFile", "workbench.activityBar.visible": true, "python.linting.mypyArgs": [ "--errors-only" ], "python.formatting.autopep8Args": [ "--errors-only" ], "workbench.colorTheme": "Adapta Nokto", "window.title": "${activeEditorLong}", "sync.gist": "2adb76066f632f1f22a2798c7d57e1c2", "sync.lastUpload": "2018-02-01T03:57:43.855Z", "sync.autoDownload": false, "sync.autoUpload": false, "sync.lastDownload": "", "sync.forceDownload": false, "sync.anonymousGist": false, "sync.host": "", "sync.pathPrefix": "", "sync.quietSync": false, "sync.askGistName": false, "editor.minimap.showSlider": "always", "workbench.iconTheme": "file-icons", }
メモしておくと、
- `Python`拡張はデフォルトでpylintを使うが、自分はpep8派なので以下の記述を加える
"python.linting.pylintEnabled": false, "python.linting.pep8Enabled": true,
- pep8でwarningとerrorの箇所を示してくれるが、warning山ほど出すぎてしんどいのでとりあえずerrorだけ表示するように設定
"python.linting.mypyArgs": [ "--errors-only" ], "python.formatting.autopep8Args": [ "--errors-only" ],
- latex関係を導入。
"latex-workshop.latex.toolchain": [ { "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%" ] }, { "command": "pbibtex", "args": [ "%DOCFILE%", "-kanji=utf8" ] }, { "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%" ] }, { "command": "ptex2pdf", "args": [ "-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%" ] } ], "latex-workshop.latex.autoBuild.onSave.enabled": false,
toolchainを指定することでbibtexファイルとかを一発でビルドしてくれる。詳しくは上述のサイト。
ついでにlatex-workshop.latex.autoBuild.onSave.enabled
をtrueにすると保存時に自動ビルドされる。デフォルトでtrueになっているが煩わしいのでfalseにした
- 保存時にオートフォーマットする。この機能がAtomの拡張より格段に軽くて使いやすい。
"editor.formatOnSave": true,
- ウィンドウのタイトルバーにカレントディレクトリのパスを表示。
"window.title": "${activeEditorLong}"
- 言語ごとに設定を変えることができる。pep8は79文字制限があるので、pythonの時はルーラを79文字の位置にする
"[python]": { "editor.rulers": [ 79 ] },
また自分のlatexファイルはぐっちゃぐちゃなのでもはや我流で行きたい。latexでは切る。
"[latex]": { "editor.formatOnSave": false },
latexでオートフォーマットするにはlatexindentというツールを導入する必要がある。
以下のサイトでなにかわかるかもしれない。
tex.stackexchange.com
Setting Sync使えばこれも自動でバックアップされるのでメモする意味もないかもしれないが一応。
今後VSCodeがもっと栄えてくれると嬉しい。