The move comes after Afghanistan's disappointing World Cup campaign, where they lost all nine matches, and follows the side's tumultuous recent months.
Asghar Afghan was sacked as captain on the eve of the tournament with Gulbadin Naib taking over the 50-over captaincy and Rahmat Shah appointed for Tests.
Rashid will take over from both having already been named Twenty20 captain.
His appointment means Rahmat has lost the Test captaincy before taking charge of a match.
Rashid is Afghanistan's most high profile player, having starred in various global T20 leagues, and is the number one ranked bowling in T20 cricket.
He has played in both of Afghanistan's Tests since they were awarded Test status in 2017 and has also featured in 68 ODIs and 38 T20s for Afghanistan.
Afghanistan's chaotic World Cup was highlighted by a public row between coach Phil Simmons and chief selector Dawlat Ahmadzai.
During the tournament Ahmadzai blamed Simmons for their poor performance and the coach responded by saying after the tournament he would "tell the Afghanistan people about the part that Ahmadzai had to play in our preparation and his part in the dismissal of Asghar Afghan".
Rashid's first match as captain will be a one-off Test against Bangladesh in September.
Sunday 14 July 2019 01:25