Sachverhalt:
A.
Die Staatsanwaltschaft des Kantons Schaffhausen führt gegen A._ eine Strafuntersuchung wegen Betrugs, Diebstahls, Sachbeschädigung und Hausfriedensbruchs. A._ befand sich vom 6. Juli 2016 bis am 27. Juli 2016 in Untersuchungshaft. Am 14. Februar 2017 wurde er erneut festgenommen und am 17. Februar 2017 in Untersuchungshaft versetzt, welche in der Folge mehrmals verlängert wurde.
Die Staatsanwaltschaft beantragte am 9. Januar 2018 eine Verlängerung der Untersuchungshaft bis zum 14. April 2018.
Am 15. Januar 2018 stellte A._ ein Haftentlassungsgesuch beim Kantonsgericht Schaffhausen, tags darauf ein solches bei der Staatsanwaltschaft.
Am 17. Januar 2018 hiess das Kantonsgericht (Zwangsmassnahmengericht) das Haftverlängerungsgesuch der Staatsanwaltschaft vom 9. Januar 2018 gut.
Am 28. Januar 2018 erhob A._ gegen den Entscheid des Zwangsmassnahmengerichts vom 17. Januar 2018 Beschwerde ans Obergericht des Kantons Schaffhausen.
Am 29. Januar 2018 wies das Zwangsmassnahmengericht das Haftentlassungsgesuch von A._ ab und untersagte ihm, innerhalb eines Monats ein weiteres Entlassungsgesuch zu stellen.
Am 11. Februar 2018 erhob A._ Beschwerde gegen den Entscheid des Kantonsgerichts vom 29. Januar 2018.
Am 19. Februar 2018 wies das Obergericht das Gesuch von A._, seiner Beschwerde aufschiebende Wirkung beizulegen, ab. Das Bundesgericht trat mit Urteil 1B_123/2018 auf die von A._ dagegen erhobene Beschwerde am 7. März 2018 nicht ein.
Mit Entscheid vom 17. April 2018 vereinigte das Obergericht die beiden Haftbeschwerden und wies sie ab, soweit es darauf eintrat.
B.
Mit Beschwerde in Strafsachen vom 27. Mai 2018 beantragt A._, es seien der Entscheid des Obergerichts vom 17. April 2018 i.V.m. demjenigen vom 19. Februar 2018 sowie die Verfügungen des Zwangsmassnahmengerichts vom 17. und vom 29. Januar 2018 aufzuheben. Es sei festzustellen, dass das Haftverfahren ungesetzlich, seine Inhaftierung rechtswidrig und er Opfer einer Rechtsverweigerung geworden sei. Für das bundesgerichtliche Verfahren sei ihm Rechtsanwalt Otmar Kurath als amtlicher Verteidiger beizugeben und ihm unentgeltliche Rechtspflege zu gewähren; die Unkosten seiner "Selbstverteidigung" in Höhe von Fr. 80.-- seien ihm zu erstatten.
C.
Die Staatsanwaltschaft des Kantons Schaffhausen beantragt, die Beschwerde abzuweisen und teilt mit, dass der Beschwerdeführer am 13. April 2018 aus der Untersuchungshaft entlassen und zur Verbüssung einer Haftstrafe gemäss Urteil des Obergerichts des Kantons Thurgau vom 25. Februar 2015 in die Justizvollzugsanstalt Sennhof in Chur überführt worden sei.
Das Kantonsgericht verzichtet auf Vernehmlassung, das Obergericht macht verschiedene Bemerkungen, ohne einen Antrag zu stellen.
A._ hält in seiner Replik an der Beschwerde fest.

Erwägungen:
Angefochten ist der kantonal letztinstanzliche Haftentscheid des Obergerichts. Dagegen ist die Beschwerde in Strafsachen nach den <ref-law> gegeben. Der Beschwerdeführer wurde allerdings bereits vor der Beschwerdeerhebung aus der Untersuchungshaft entlassen, womit fraglich erscheint, ob er über ein aktuelles Rechtsschutzinteresse im Sinn von <ref-law> verfügt, den angefochtenen Entscheid vom Bundesgericht überprüfen zu lassen.
Der Beschwerdeführer beantragt in der Sache im Wesentlichen, es sei die Rechtswidrigkeit der gegen ihn verhängten Untersuchungshaft festzustellen. Solche Feststellungsbegehren haben nach der Rechtsprechung subsidiären Charakter und sind auch in Haftsachen nur ausnahmsweise zulässig (Zusammenfassung der Rechtsprechung in Urteil 1B_56/2014 vom 10. April 2014 E. 1). Es ist Sache des Beschwerdeführers darzutun, dass die Sachurteilsvoraussetzungen erfüllt sind, sofern das nicht offensichtlich ist (<ref-law>; <ref-ruling> E. 1.2; zum Ganzen 141 IV 284 E. 2.3; 289 E. 1.3).
Vorliegend begründet der Beschwerdeführer nicht sachgerecht, weshalb er nach seiner Entlassung aus der Untersuchungshaft noch ein aktuelles Rechtsschutzinteresse an der Anfechtung des Haftentscheids hat. Das ist auch keineswegs offensichtlich oder nahe liegend, da er seine Kritik an der Zwangsmassnahme auch im Strafverfahren noch vorbringen kann. Auf die Beschwerde ist wegen Verletzung der Begründungspflicht im vereinfachten Verfahren nicht einzutreten. Sein Gesuch um unentgeltliche Rechtspflege und Verbeiständung ist abzuweisen, da die Beschwerde aussichtslos war (Art. 64 Abs. 1 und 2 BGG) und er aus der Beiordnung eines Verteidigers nach Ablauf der Rechtsmittelfrist ohnehin kaum noch Nutzen ziehen könnte. Die Rückerstattung der "Selbstverteidigungskosten" fällt daher ausser Betracht. Hingegen kann ausnahmsweise auf die Erhebung von Kosten verzichtet werden (<ref-law>).

Demnach erkennt der Präsident:
1.
Auf die Beschwerde wird nicht eingetreten.
2.
Es werden keine Kosten erhoben.
3.
Dieses Urteil wird dem Beschwerdeführer, der Staatsanwaltschaft des Kantons Schaffhausen, dem Kantonsgericht Schaffhausen, dem Obergericht des Kantons Schaffhausen und Thomas Heeb schriftlich mitgeteilt.
Lausanne, 26. Juni 2018
Im Namen der I. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Merkli
Der Gerichtsschreiber: Störi