The deal will keep him at the club until the end of 2022.
Willey, 29, joined Yorkshire from Northamptonshire ahead of the 2016 season.
But he has appeared only sporadically due to his commitments with England’s one-day team.
“It has been a difficult four years being in-and-out through the summers, and I’ve not really been settled,” admitted Willey.
“But, moving forward, it’s really nice that I’m going to be here for an extended period and hopefully I’m around and can contribute to some silverware.
“From a personal point of view, I feel very settled up here in Yorkshire; I’ve got my family here and we’ve recently moved house, so I’m very settled in that respect.
“Hopefully, I can become a much bigger part of things on the field and play a part in some success for the club.”
Yorkshire are likely to see more of Willey after he was overlooked for the ongoing World Cup.
Despite playing a key part in England’s rise to No 1 in the world, he was effectively the fall guy after England fast-tracked the Barbados-born pace bowler Jofra Archer by changing their residency rules from seven years to three.
“I had no intention of moving on anywhere else and I love playing my cricket up here,” added Willey.
“I try and keep the game moving forwards with both bat and ball and try to contribute in all three areas of the game.
“I always get asked the question, ‘Are you really that interested in four-day cricket?’, and at the game at Scarborough last week (when Yorkshire won in dramatic fashion against Surrey with 10 balls left), I came off the field and said to the boys, ‘That’s why I still want to play four-day cricket.’
“That win was better than any one-day win I’ve had in the past few years, and it’s the hard-fought wins and the ebb and flow of four-day cricket that gives you that joy.”
Willey is sitting out the current County Championship game against Essex at Chelmsford due to what the club have described as “personal reasons”.
The same description was given for Willey’s absence from last month’s match against Surrey at Guildford.
Willey has played only 12 Championship games for Yorkshire, scoring 298 runs at an average of 18.62 and taking 30 wickets at 33.83.
He has proved of more value to the club in white-ball cricket, displaying the type of form that has won him 46 one-day international and 28 T20 international caps for his country.
Martyn Moxon, Yorkshire’s director of cricket, is delighted to have tied the player to an extended contract.
“David is a three-dimensional cricketer across all three formats and will be a crucial member of the squad going forwards as we develop,” said Moxon. “He’ll be an integral part of the squad.
“As we’ve seen with him playing regularly recently, his contributions in four-day cricket have been important and the more he plays, the better he’ll get.
“His career with us has been a bit stop-start due to England commitments, but the more continuous cricket he plays, the better.”
Yorkshire report: Page 3