Ekumen-OS / andino

Open-source diff drive robot ROS 2 compatible
150 stars 41 forks source link

Proposal: Creation of a Devcontainer for ROS2 Humble Andino Development #261

Open Romu10 opened 1 month ago

Romu10 commented 1 month ago

Proposal: Creation of a Devcontainer for ROS2 Humble Andino Gazebo Development

Description

As a part of our ongoing efforts to improve the developer experience and streamline the setup process, I propose the creation of a Devcontainer for the ROS2 Humble Andino Gazebo development environment. A Devcontainer would allow for a consistent development setup across different environments, reducing setup time and potential configuration issues.

Benefits

  1. Consistency: Ensures that all developers work in an identical environment.
  2. Ease of Setup: Simplifies the initial setup process, making it easier for new contributors to start working on the project.
  3. Portability: Developers can switch between different machines without worrying about reconfiguring the development environment.
  4. Integrated Tools: Ability to pre-configure tools and extensions specific to the project.

Proposed Setup:

Configuration:

Example of 'devcontainer.json':

{
    "name": "ROS2 Humble Andino Gazebo Development",
    "image": "ros:humble",
    "extensions": [
        "ms-iot.vscode-ros",
        "ms-vscode.cpptools",
        "ms-python.python"
    ],
    "settings": {
        "terminal.integrated.shell.linux": "/bin/bash"
    },
    "postCreateCommand": "rosdep update && rosdep install --from-paths src --ignore-src -r -y && colcon build",
    "runArgs": [
        "--net=host"
    ],
    "workspaceMount": "source=${localWorkspaceFolder},target=/ws,type=bind,consistency=cached",
    "workspaceFolder": "/ws"
}

Tasks:

  1. Create a .devcontainer folder in the root of the repository.
  2. Add the devcontainer.json file with the proposed configuration.
  3. Update the README.md to include instructions on using the Devcontainer.

I look forward to your feedback and suggestions. Thank you

francocipollone commented 1 month ago

Great proposal and thanks for the contribution!