By default Mathematica can't give solution in implicit form .You need to use tricks to extract that information:
Block[{Solve, conds}, Unprotect[Solve];
Solve[e_, v_] :=
With[{res = Reduce[e, v]},(*capture the conditiions via a side-
effect*)conds =
res /. Equal[var_?(MemberQ[Flatten[{v}], #] &), __] :> Sequence[];
{Cases[res,
var_?(MemberQ[Flatten[{v}], #] &) == rhs_ :> Rule[var, rhs],
Infinity]}];
S = Transpose[{DSolve[{y'[x] == E^(2*x - y[x])}, y[x], x][[1]],
List @@ LogicalExpand[conds]}]][[1]]
S[[1]] /. ((Solve[0 == (S[[1, 1, 1]][[2]] /. x -> 0), C[1]] //
Simplify)[[1, 1]]) // Simplify
(*{{y[x] -> ConditionalExpression[(2*I)*Pi*C[2] + Log[-1/2 + E^(2*x)/2 + E^((-2*I)*Pi*C[2])],
Inequality[-Pi, Less, -2*Pi*Re[C[2]], LessEqual, Pi]]}, {Element[C[2], Integers],
ConditionalExpression[E^(2*x) + 2/E^((2*I)*Pi*C[2]) != 1, Inequality[-Pi, Less, -2*Pi*Re[C[2]], LessEqual, Pi]]}}*)
Regards M.I