[英]Can not copy local directory to remote container with docker using docker context
[英]Using local Clang-format when developing in a remote Docker container
我正在使用連接到 Docker 容器的 VS Code:項目文件和編譯工具位於那里。 主機系統為 macOS Big Sur。
我正在使用Clang-Format擴展,但是 Docker 鏡像中可用的clang-format
非常過時並且無法升級(由於外部原因),所以我無法使用項目的.clang-format
文件(其中包含更新的指令) .
我在主機上本地安裝了最新版本的clang-format
。 有什么方法可以將 VS Code 配置為使用該版本的clang-format
而不是 Docker 映像中的那個版本?
無法使用本地副本,因為 VS Code 將在 Docker 中運行它並且二進制文件不兼容。
我發現這樣做的最好方法是在主機中下載 Linux 的clang-format
,與容器共享並告訴 VS Code 使用它:
下載(或編譯)與容器的 Linux 版本兼容的clang-format
。 在我的例子中,容器基於 Ubuntu 20.04,所以官方項目 repo 中已經有一個 clang+LLVM 的預編譯版本。
將其解壓到可以綁定到容器的目錄中(您可以在 Docker Desktop 中的設置 > 資源 > 文件共享下進行)。 就我而言,我為此准備了一個: ~/shared
,所以我將它解壓縮到~/shared/clang+llvm-13.0.0
。
在docker-compose.yml
文件中掛載clang-format
所在的本地目錄(使用最適合您的遠程目錄):
services:
volumes:
- ~/shared/clang+llvm-13.0.0:/home/user/clang+llvm-13.0.0:ro
settings.json
可執行文件的路徑:{
"clang-format.executable": "/home/user/clang+llvm-13.0.0/bin/clang-format"
}
這種方法的唯一缺點是clang-format.executable
設置是用戶范圍的,沒有工作區級別的設置,因此更改普遍適用。 就我而言,這不是什么大問題,因為一切都是在容器中完成的,但我知道這可能不是混合設置的最佳選擇。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.