前置き
VSCodeの拡張機能のRemote-Containersを使い、コンテナ内で作業する際にインテリセンス(自動補間)が出なくて苦戦したため備忘録として投稿します。
同じ様に苦戦している方の参考になれば幸いです。
※この記事ではPythonを例に書いています。
解決方法1(コンテナ内でパッケージをインストールする)
そもそもパッケージをインストールしていないと当然インテリセンスは有効にならないので、requirements.txtに必要なものを記載し以下のコマンドで実行しましょう。
pip install -r requirements.txt
requirements.txtの例
django==2.2.19
djangorestframework==3.12.2
解決方法2(プラグインのインストール)
プラグイン(拡張機能)を見るとlocalとdev containerの二つの環境があるため必要なものはdev containerにもインストールしましょう。
解決方法3(devcontainer.jsonの設定)
settings.jsonにパッケージのパスを記載すれば良いと思っていたのですが、コンテナでは.devcontainerディレクトリにあるdevcontainer.jsonに記載するそうです。
settingsに以下を記載しましょう。
// Set *default* container specific settings.json values on container create.
"settings": {
"python.autoComplete.extraPaths": [
"[インストールしたパッケージのパス]"
],
},
パッケージのパスが分からない場合は邪道ですが再度以下のコマンドで確認出来ます。
pip install -r requirements.txt
既にインストールされている為、インストールされている場所をエラーで返してくれます。
Linuxのコマンドのfindで検索をかけても見つかるかと思います。
解決方法4(己を鍛える)
エンジニアの方のツイートで自動補間に関して
「己を鍛えれば良くないですか?」
というツイートを見たことがあります。
上記の解決方法で駄目なら筋肉でコーディングしましょう!!(冗談です)