作成: 2021年06月03日
更新: 2022年02月10日
VSCodeのRemote Contaiers拡張を入れることによってさまざまな言語の開発環境をVSCodeとDockerを用いて簡単に作れる.
これを用いていろいろな言語のDockerfile, github actionsのymlファイル, サンプルファイル,テスト環境,VSCode拡張機能などをまとめたTemplate Repositoryを作りました(随時更新,改良予定).
Template Repositoryとすることで各言語の開発環境をfirst commitとして簡単に作成できるようになっています.(参考: テンプレートリポジトリを作成する - GitHub Docs)
Python, LaTeXに関してはリポジトリの内容について以下で詳しく書いています.
Docker+VSCodeを用いたPythonの開発環境構築
pLaTeX, pdfLaTeX両対応のLaTeXのDocker環境 on VSCode
WindowsでWSL2経由でDockerをインストールした場合WSL以下のディレクトリにリポジトリを置かないとインストール速度が落ちたりHot reloadが機能しなかったりするので注意!(参考: Docker Desktop on WSL2: The Problem with Mixing File Systems | by Manfred Lange | Level Up Coding)
またMacのDocker for Macは遅いので何らかの工夫が必要(参考: docker for macのファイルioが遅い問題に終止符を打つ)
いずれも特にNode.js環境で顕著
Download Visual Studio Code - Mac, Linux, Windows
Install Docker Desktop on Mac | Docker Documentation
Language | Repository | Linter | Formatter | Test | CI |
---|---|---|---|---|---|
Python | python-container-template | flake8 | autopep8 | pytest | Lint, Test |
Node.js | node-container-template | eslint | Prettier | None | Lint |
Go | go-container-template | staticcheck | Go extension | testing(Default) | Lint, Test |
Rust | rust-container-template | rustc(default) | rustfmt | Default | Lint, Test, Build |
Ruby | ruby-container-template | rubocop | rubocop | None | Lint |
Java | java-container-template | None | Language Support for Java(TM) by Red Hat - Visual Studio Marketplace | None | None |
LaTeX | latex-container-template | latex-workshop extension | latex-workshop extension | None | None |