Edited at

マイVS Code環境(c++,tex,markdown,etc)


目的

Qiitaを書いてみたかった.


c++

拡張機能は特になし.

コンパイルは統合ターミナルにCygwinを設定して行う.

Cygwinを統合ターミナルに設定するためには以下をsetting.jsonに追記.


setting.json

    "terminal.integrated.shell.windows": "C:\\cygwin64\\bin\\bash.exe",

"terminal.integrated.env.windows": {//起動時のディレクトリをワークスペースに指定
"CHERE_INVOKING": "1"
},
"terminal.integrated.shellArgs.windows": [//ログイン起動
"-l"
]

またすばやくエディタ,(VS Code内の)エクスプロラ,ターミナルを移動するためのショートカット.


keybindings.json

    {

"key": "ctrl+;",
"command": "workbench.action.terminal.focus",
"when": "editorTextFocus"
},
{
"key": "ctrl+;",
"command": "workbench.action.focusFirstEditorGroup"
,"when": "terminalFocus || filesExplorerFocus"
},
{
"key": "ctrl+shift+;",
"command": "workbench.files.action.focusFilesExplorer"
}

これでファイル移動->編集->コンパイルが手早く行える.


tex

拡張機能はおなじみのLatexWorkShop.

https://marketplace.visualstudio.com/items?itemName=James-Yu.latex-workshop

以下をsetting.jsonに追記して使う.


setting.json

    "latex-workshop.latex.recipes": [

{
"name": "ptex2pdf",
"tools": [
"ptex2pdf"
]
}
],
"latex-workshop.latex.tools": [
{
"name": "ptex2pdf",
"command": "ptex2pdf",
"args": [
"-l",
"-ot",
"-kanji=utf8 -synctex=1",
"%DOC%"
]
},
{
"name": "bibtex",
"command": "pbibtex",
"args": [
"%DOCFILE%"
]
}
],
"latex-workshop.chktex.enabled": true,
"latex-workshop.latex.autoBuild.onSave.enabled": false,
"latex-workshop.view.pdf.viewer": "browser",

bibtexを使いたいときはworkspaceでsetting.jsonの上書き.

以下keybindings.json

synctex用.


keybindings.json

    {

"key": "ctrl+alt+enter",
"command":"latex-workshop.synctex",
"when": "editorTextFocus"
}


markdown

メモを書くとき使う.

文章書くときのモチベ維持が目的.


MarkdownPreviewEnhanced

https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-preview-enhanced

見た目をいじれたり,数式かけたり,mermaid.jsかけたり.

とにかく多機能なviewer.

以下マイsetting.json


setting.json

    "markdown-preview-enhanced.codeBlockTheme": "funky.css",

"markdown-preview-enhanced.mermaidTheme": "dark",
"markdown-preview-enhanced.previewTheme": "night.css",


MarkDown PDF

https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf

その名の通りMarkdownをpdfに変換する拡張機能.

pdf以外にもhtml,png,jpegにも変換できるみたい(やったことない).


その他の拡張機能


BracketPairColorizer

https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer

カッコに色つけてくれる.

プログラム書くときに重宝する.


Japanese Language Pack for VS Code

https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ja


LocalHistory

https://marketplace.visualstudio.com/items?itemName=xyz.local-history

ファイルの履歴を自動でとっておいてくれる拡張機能.

以下setting.json


setting.json

    "local-history.daysLimit": 30,//一か月前までのファイルを取っておく

"local-history.saveDelay": 259200,//3日おきに保存


PathAutocomplete

https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete

コード中でファイルのパスを補完してくれる拡張機能.

デフォルトではダブルクオーテーションに囲まれた部分のみ.

texで使いたかったので,以下をsetting.jsonに追記


setting.json

    "path-autocomplete.triggerOutsideStrings": true,



Rainbow CSV

https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv

csvファイルに色付けをしてくれる拡張機能.

鑑賞用.


sftp

https://marketplace.visualstudio.com/items?itemName=liximomo.sftp

sftpを介してローカルとリモートでディレクトリの同期をしてくれる拡張機能.

これを使っていると開発環境をすべてリモートに押し付けて自分はきれいな環境で生きていきたくなる.

以下.vscode/sftp.jsonのテンプレ


.vscode/sftp.json

{

"name": "hoge",
"protocol": "sftp",
"host": "hostname",
"username": "username",
"port": 22,
"remotePath": "remotePath",
"uploadOnSave": true,//ローカルにてファイル保存時に自動でアップロード
"syncMode": "update",//同期時にリモートでローカルに存在しないファイルを削除しない
}


vscode-icons

https://marketplace.visualstudio.com/items?itemName=robertohuertasm.vscode-icons

ファイルのアイコンが種類によって変わって見やすくなる.

以下をsetting.jsonに追記して使う.


setting.json

    "workbench.iconTheme": "vscode-icons",



WakaTime

https://marketplace.visualstudio.com/items?itemName=WakaTime.vscode-wakatime

自分のコーディングをモニターしてくれる.


その他の設定


setting.json

    "editor.fontFamily": "Ricty",//色々便利なフォント

"extensions.autoUpdate": false, //拡張機能の自動アブデによる環境破壊を防ぐ
"workbench.editor.showTabs": false,//タブは見せない


最後に

初めて書いてみたけど,結構骨が折れる.

みんなすごいな.