Rohit was also named as India's Test vice-captain as as the All-India Senior Selection Committee picked an 18-member squad for the upcoming three-match Test series against South Africa.
"The All-India Senior Selection Committee also decided to name Mr Rohit Sharma as the Captain of the ODI & T20I teams going forward," BCCI said in a statement.
The Test series which gets underway from December 26 will form a part of the new cycle of the ICC World Test Championship.
"The following players were not available for selection due to injuries and are currently undergoing rehabilitation: Ravindra Jadeja, Shubman Gill, Axar Patel, Rahul Chahar," read a statement from BCCI.
India's Test squad: Virat Kohli (Captain), Rohit Sharma (vice-captain), KL Rahul, Mayank Agarwal, Cheteshwar Pujara, Ajinkya Rahane, Shreyas Iyer, Hanuma Vihari, Rishabh Pant (wk), Wriddhiman Saha (wk), R Ashwin, Jayant Yadav, Ishant Sharma, Mohd. Shami, Umesh Yadav, Jasprit Bumrah, Shardul Thakur, Md. Siraj.
Standby Players: Navdeep Saini, Saurabh Kumar, Deepak Chahar, Arzan Nagwaswalla.