You have 2 methods! (Only default there is not "snap" only a % ! Better than nothing! :)
By Face (s) can be multiple in the same time! Not shown here...yes in the last images! ;)
It's like an insert face(s) with connection(s) of extremities...
By Edge ! Single!
Can works on polygonal surface of any number or edges! (Surface and edge)
Here a surface of 7 edges!

|