As t.b. noted in the comments, every metric space is paracompact, so an even stronger result is:

Theorem. Every paracompact Hausdorff space is completely uniformizable.

Let $\langle X,\tau\rangle$ be a paracompact Hausdorff space. The first step of the proof is to show that the collection $\mathfrak{N}$ of all open nbhds of the diagonal of $X\times X$ is a base for a diagonal uniformity on $X$. It’s clear that $\mathfrak{N}$ satisfies most of the required conditions; the only one that isn’t immediately clear is that for each open nbhd $N$ of the diagonal there is an open nbhd $M$ such that $M\circ M\subseteq N$, i.e., such that $\langle x,z\rangle\in N$ whenever $\langle x,y\rangle,\langle y,z\rangle\in M$.

To see this, let $N\in\mathfrak{N}$. Let $\mathscr{U}=\{U\in\tau\setminus\{\varnothing\}:U\times U\subseteq N\}$; $\mathscr{U}$ is an open cover of $X$. In this answer I showed how to find an open barycentric refinement $\mathscr{V}$ of $\mathscr{U}$, i.e., a refinement with the property that for each $x\in X$ there is a $U\in\mathscr{U}$ such that $\operatorname{st}(x,\mathscr{V})\subseteq U$. Now repeat the process to get a barycentric open refinement $\mathscr{W}$ of $\mathscr{V}$.

Fix $W_0\in\mathscr{W}$ and $x_0\in W_0$ arbitrarily. If $W\in\mathscr{W}$ and $W_0\cap W\ne\varnothing$, we may pick an $x\in W_0\cap W$. $\mathscr{W}$ is a barycentric refinement of $\mathscr{V}$, so there is some $V_W\in\mathscr{V}$ such that $W_0\cup W\subseteq\operatorname{st}(x,\mathscr{W})\subseteq V_W$. Moreover, $x_0\in W_0$, so $W\subseteq V_W\subseteq\operatorname{st}(x_0,\mathscr{V})$. And $\mathscr{V}$ is a barycentric refinement of $\mathscr{U}$, so there is a $U\in\mathscr{U}$ such that $\operatorname{st}(W_0,\mathscr{W})=\bigcup\{W\in\mathscr{W}:W_0\cap W\ne\varnothing\}\subseteq\operatorname{st}(x_0,\mathscr{V})\subseteq U$. In other words, $\mathscr{W}$ is an open star refinement of $\mathscr{U}$.

Let $M=\bigcup\{W\times W:W\in\mathscr{W}\}$; clearly $M$ is an open nbhd of the diagonal. Suppose that $\langle x,y\rangle,\langle y,z\rangle\in M$ for some $x,y,z\in X$. Then there are $W_0,W_1\in\mathscr{W}$ such that $x,y\in W_0$ and $y,z\in W_1$, and since $W_0\cap W_1\ne\varnothing$, there is a $U\in\mathscr{U}$ such that $W_0\cup W_1\subseteq U$. Then $x,z\in U$, so $\langle x,z\rangle\in U\times U\subseteq N$, as desired.

In the answer to which I linked above I showed that $\mathfrak{N}$ is complete, so it only remains to verify that it generates the topology $\tau$. As usual, for each $N\in\mathfrak{N}$ and $x\in X$ let $N[x]=\{y\in X:\langle x,y\rangle\in N\}$, and let $\mathscr{N}=\{N[x]:N\in\mathfrak{N}\text{ and }x\in X\}$; $\mathscr{N}$ is a base for the topology $\tau_\mathfrak{N}$ generated by $\mathfrak{N}$. The members of $\mathfrak{N}$ are open in $X\times X$, so $\mathscr{N}\subseteq\tau$. On the other hand, suppose that $\varnothing\ne V\in\tau$, and let $x\in V$. $X$ is $T_3$, so there is an open set $U$ such that $x\in U\subseteq\operatorname{cl}U\subseteq V$; let $W=X\setminus\operatorname{cl}U$. Then $\{U,W\}$ is an open cover of $X$, so $N=(U\times U)\cup(W\times W)\in\mathfrak{N}$. Clearly $x\in N[x]=U\subseteq V$, so $V\in\tau_\mathfrak{N}$. Thus, $\tau_\mathfrak{N}=\tau$, and the proof is complete.