The 6-foot-3 sophomore wing and Indianapolis native, who averaged 17.2 points this past season for Bob Huggins and the Mountaineers, chose the Spartans over Michigan and Purdue.
Harris was slated to visit Michigan this past weekend, but never wound up making the trip.
"It was the vibe and feeling I got from the whole situation," Harris told ESPN.com of his decision to choose Michigan State. "I already had formed a relationship with Coach (Izzo), but when I got to look into his eye and hear his plan for me, I could see how genuine he was."
Harris, who wasn't recruited by any of the Big Ten schools coming out of Lawrence North High in Indianapolis, will sit out this coming season and have two left in East Lansing. He'll give Izzo and the Spartans a versatile guard once he becomes eligible.
"People have said I'm a bad defender, but that's actually why I was recruited," Harris said. "I'll bring a guy who is tough, a leader, can handle the ball and shoot the ball."