My own Extrusion toolset:
contains two related tools:
EEbyVector which takes selected edges and extrudes them into a face along a picked vector [or vectors]
EEbyVectorToObject which is similar but if you extrude ‘through’ another object or objects [i.e. faces etc] then the newly extruded faces are trimmed to the object that it intersects…