The 20-year-old spent time on loan at Preston and Yeovil last season.
“I’m really pleased. It’s an amazing feeling to be signing a new deal at such an exciting time in the club’s future,” he told the club’s official website.
“This summer has been my first proper involvement with the first team and I’ve enjoyed every moment.
“It’s a great place to be around at the moment – everything you could ask for as a young professional.”
“I’ve been in and around the first team over the last few years and now I want to step up that level,” he added.
“Any experience I can have at first-team level this season will be beneficial.”