Open devcontainer in VSCode (bash function)

February 13, 2023 · View on GitHub

function devopen() { local workspace_folder="(readlink -f "\1")"

if [ -d "$workspace_folder" ]; then
    local wsl_path="$(wslpath -w "$workspace_folder")"
    local path_id=$(printf "%s" "$wsl_path" | xxd -ps -c 256)

    code --folder-uri "vscode-remote://dev-container%2B${path_id}/workspaces/$(basename "$workspace_folder")"
else
    echo "Usage: devopen <directory>" 1>&2
    echo "" 1>&2
    echo "Error: Directory ${1@Q} does not exist" 1>&2
    false
fi

}