VSCodeの初期設定
基本的にここをみる.下のメモは個人的な保存用であり,参照しているページと同じ.特に新規性はない. コマンドパレットからパスを通す
デフォルトではVSCodeにterminal上ではパスが通っていない.
VS Code を開いて以下の操作をする
Command (⌘) + Shift (⇧) + P を押す.
shell command と入力.
「シェル コマンド: PATH 内に 'code' コマンドをインストールします」 を選択して実行.
管理者パスワードを求められたら入力.
以上を行うと,terminal上でcodeと書けば、VS Codeが起動するようになる.
LaTeXの設定
latexmkの設定
latexmkの設定を行う必要がある.
~/.latexmkrcを作成して編集する.
隠しファイルの表示:Finderがアクティブな状態でCommand + Shift + . を押す
テンプレートは下の通り.
code:perl
# !/usr/bin/env perl
# LaTeX
$latex = 'platex -synctex=1 -halt-on-error -file-line-error %O %S';
$max_repeat = 5;
# BibTeX
$bibtex = 'pbibtex %O %S';
$biber = 'biber --bblencoding=utf8 -u -U --output_safechars %O %S';
# index
$makeindex = 'mendex %O -o %D %S';
# DVI / PDF
$dvipdf = 'dvipdfmx %O -o %D %S';
$pdf_mode = 3;
# preview
$pvc_view_file_via_temporary = 0;
if ($^O eq 'linux') {
$dvi_previewer = "xdg-open %S";
$pdf_previewer = "xdg-open %S";
} elsif ($^O eq 'darwin') {
$dvi_previewer = "open %S";
$pdf_previewer = "open %S";
} else {
$dvi_previewer = "start %S";
$pdf_previewer = "start %S";
}
# clean up
$clean_full_ext = "%R.synctex.gz"
Extension: LaTeXWorkshop のインストール
https://scrapbox.io/files/6979af905d8404e6e54f25a6.png
JSONファイルの設定
code:json
{
// ---------- Language ----------
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
// スニペット補完中にも補完を使えるようにする
"editor.suggest.snippetsPreventQuickSuggestions": false,
// インデント幅を2にする
"editor.tabSize": 2
},
// インデント幅を2にする
"editor.tabSize": 2
},
// ---------- LaTeX Workshop ----------
// 使用パッケージのコマンドや環境の補完を有効にする
"latex-workshop.intellisense.package.enabled": true,
// 生成ファイルを削除するときに対象とするファイル
// デフォルト値に "*.synctex.gz" を追加
"latex-workshop.latex.clean.fileTypes": [
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.ist",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.snm",
"*.nav",
"*.dvi",
"*.synctex.gz"
],
// 生成ファイルを "out" ディレクトリに吐き出す
"latex-workshop.latex.outDir": "out",
// ビルドのレシピ
"latex-workshop.latex.recipes": [
{
"name": "latexmk",
"tools": [
"latexmk"
]
},
],
// ビルドのレシピに使われるパーツ
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-silent",
"-outdir=%OUTDIR%",
"%DOC%"
],
},
],
//下はGemini Code Assist関係("......"はloginすると自動で埋まるのでコメントアウトしました). //ただし,LaTeX関係の自動補完を切るように設定します
//"geminicodeassist.project": ".......", "geminicodeassist.inlineSuggestions.nextEditPredictions": true,
"geminicodeassist.inlineSuggestions.enableAuto": "off"
},
"geminicodeassist.inlineSuggestions.enableAuto": "off"
},
"geminicodeassist.inlineSuggestions.enableAuto": "off"
},
"remote.autoForwardPortsSource": "hybrid",
}
Remote Containerの設定
extensionとしてdev containerを入れる.
1. 設定ファイル(devcontainer.json)の作成
VS Codeに「どのコンテナに入ればいいか」を教えるための設定ファイルを作ります。
docker-compose.yml があるフォルダの中に、.devcontainer という名前のフォルダを作ります。
その中に devcontainer.json というファイルを作り、以下の内容を貼り付けてください。
code:json
{
"name": "KZLab Research Env",
"dockerComposeFile": "../docker-compose.yml",
"service": "kzlab",
"workspaceFolder": "/home",
"customizations": {
"vscode": {
"extensions": [
"ms-python.python",
"ms-toolsai.jupyter",
"ms-ceintl.vscode-language-pack-ja",
"ms-toolsai.jupyter-renderers",
"julialang.language-julia" // Juliaも使う場合
]
}
}
}
dockerComposeFile: 先ほど作った docker-compose.yml をそのまま流用します。
extensions: コンテナに入った瞬間、PythonやJupyterの拡張機能がコンテナ側に自動インストールされます。Mac側に入れる必要はありません。
2. コンテナで開き直す
VS Codeの左下にある 緑色のアイコン(><) をクリック
ポップアップメニューから 「Reopen in Container(コンテナで再度開く)」 を選択
ビルドが始まり(初回のみ)、完了するとVS Codeの左下が 「Dev Container: KZLab...」 という表示に変わる
3. VS Code上で .ipynb を動かす
コンテナ内で開けたら、あとはいつものようにファイルエクスプローラーから .ipynb ファイルをクリックするだけです。
自動接続: Dev Container経由で開くと、すでにコンテナ内のPython環境が認識されているため、右上の「Select Kernel」で迷う必要がほとんどありません。
4. ipynbを開くとき、初回起動時は、セルを実行する(Shift+Enter)と、カーネルを指定するように言われる.Python Environmentの指定が必要なので、Baseを選択.いくつかextensionを入れるように言われるので、入れる.
5. extensionとして"Gemini Code Assist"を入れよう.