How do I create new objects in the current viewport instead of at (0, 0, 0)?
While there is no setting that makes new added objects appear in the center of the current viewport, there is the option to position your 3D Cursor to where you want the new object before adding the object, resulting in the new object being placed where you want it right away. Orientation is by default world-orientation, so keeping that in mind new objects can be placed where the 3D cursor is, but will need to be orientated to your needs afterwards.
To get the 3D Cursor to where you want it, you can either select an object (in which case the 3D Cursor will be able to snap to that objects origin, or in case you need to be very precise, you can also go in edit mode and select a vertex of an object to snap the 3D Cursor to.
The shortcut for the snapping is Shift+S where depending on object or edit mode the options given are different. Selecting the option to Cursor to Selection will reposition the 3D Cursor and new objects added afterwards will be located there as well.
You can also in case there is no object in your view, activate the Cursor mode

With this mode active you can click in your viewport, placing the 3D cursor and thus making that location the position where new object will appear.
To reset the 3D Cursor later just press Shift+C.
Or in case you use addons like &quot;MachineTools&quot;, rather press Shift+S and choose Cursor to World Origin.