The 21-year-old is the joint-top scorer in League One this season, having netted 10 times in 16 appearances.
"He has been integral in our climb up the table so we're delighted he has signed," Coventry manager Steven Pressley told BBC Sport.
"He's a great kid and a Coventry boy with a desire to see us succeed. He has displayed exactly the kind of mentality and work ethic that I want to be the cornerstone of this club."
Coventry currently sit 13th in League One, five points adrift of the playoff places.