build: add VS Code DevContainer support for seamless onboarding#9818
build: add VS Code DevContainer support for seamless onboarding#9818Divinesoumyadip wants to merge 1 commit intoThe-OpenROAD-Project:masterfrom
Conversation
|
clang-tidy review says "All clean, LGTM! 👍" |
There was a problem hiding this comment.
Code Review
This pull request introduces DevContainer support, which is a valuable addition for streamlining the developer onboarding process. My review focuses on refining the configuration for robustness and maintainability. I've suggested simplifying the VS Code extensions list by removing redundant entries and correcting the postCreateCommand to prevent potential container lifecycle issues. These changes will help ensure a smooth experience for developers using the new DevContainer environment.
.devcontainer/devcontainer.json
Outdated
| } | ||
| }, | ||
| "remoteUser": "root", | ||
| "postCreateCommand": "echo 'Welcome to the OpenROAD DevContainer! Run ./etc/Build.sh to get started.' && bash" |
There was a problem hiding this comment.
The && bash at the end of postCreateCommand will cause the container setup process to hang, as it waits for the non-interactive bash session to terminate. This can prevent VS Code from attaching correctly. VS Code automatically provides a terminal, so launching one here is unnecessary and problematic.
"postCreateCommand": "echo 'Welcome to the OpenROAD DevContainer! Run ./etc/Build.sh to get started.'"| "extensions": [ | ||
| "ms-vscode.cpptools", | ||
| "ms-vscode.cpptools-extension-pack", | ||
| "ms-vscode.cmake-tools", | ||
| "twxs.cmake" | ||
| ] |
There was a problem hiding this comment.
…boarding Signed-off-by: Divinesoumyadip <soumyacode7@gmail.com>
d9616c5 to
6679a6e
Compare
|
clang-tidy review says "All clean, LGTM! 👍" |
Currently, developers using Docker must manually run container build commands, configure volume mounts, and manually attach their IDEs to the container environment. This creates friction and a steep learning curve for first-time contributors.
By adding native DevContainer support, users can now simply open the cloned repository in VS Code and click "Reopen in Container".
This configuration automatically:
devtarget in our existingDockerfile(leveraging the optimized base image).cpptools,cmake-tools, etc.).