The 22-year-old has made 10 appearances for Bristol City this season.
“I’ve worked very hard for (a new contract) so I’m very pleased,” he said.
“It’s definitely been a turnaround. It doesn’t feel great at the moment because of how the team are doing but (it does) on a personal level.”
Wilson has been struggling with a number of injury problems, but has managed to battle through the setbacks.
He added: “It’s down to hard work.
“There were times when I didn’t think I would play again, but hard work and persistence has paid off.”