Faits : A. A._, né en 1966, a travaillé en qualité de mécanicien au service de l'entreprise B._ SA. Le 14 avril 1997, il a déposé une demande de prestations de l'assurance-invalidité. Par décision du 23 février 2000, l'Office de l'assurance-invalidité pour le canton de Vaud (l'office AI) lui a alloué une rente entière d'invalidité à compter du 1 er avril 1997, fondée sur un taux d'invalidité de 100%, l'invalidité étant due à une composante psychique (rapport d'expertise du docteur C._, spécialiste en psychiatrie et psychothérapie, du 29 juillet 1998). Le droit à la rente a été maintenu à l'issue de deux procédures de révision du droit à la rente, ouvertes en 2000 et 2005; à l'occasion de la dernière révision, l'assuré avait déclaré qu'il ne travaillait pas. Dans le cadre d'une troisième procédure de révision, initiée le 3 février 2010, l'office AI a constaté que l'assuré avait réalisé une activité lucrative auprès de B._ SA, qu'il n'avait pas annoncée, sans interruption depuis l'octroi de la rente (cf. extrait du compte individuel de l'assuré). Par décision du 18 octobre 2010, il a suspendu le versement de la rente à compter du 30 octobre 2010. L'office AI a mandaté le Centre D._ de V._. Dans leur rapport d'expertise pluridisciplinaire du 23 août 2011, les docteurs E._, spécialiste en médecine interne, et F._, spécialiste en psychiatrie et psychothérapie, ont posé les diagnostics, avec répercussion sur la capacité de travail, d'infection HIV stade C3 diagnostiquée en 1996, traitement par trithérapie, ainsi que d'ostéoporose et fracture pertrochantérienne gauche en 2007 (ablation du matériel d'ostéosynthèse en 2008). Les experts ont attesté que l'incapacité de travail était complète dans l'activité antérieure; toutefois, une activité adaptée à l'invalidité (sans port de charges lourdes ni marche prolongée) pouvait être exercée à 100%, avec une diminution de rendement de 25% liée à la fatigue. Considérant que l'assuré ne subissait pas de perte économique, dès lors que les revenus réalisés au cours des dernières années étaient équivalents, voire supérieurs à ceux qu'il aurait pu obtenir sans les atteintes à la santé, l'office AI a supprimé la rente avec effet rétroactif au 1 er octobre 2005, par décision du 18 septembre 2012. Par une seconde décision du 25 septembre 2012, il a demandé la restitution des rentes versées à tort d'octobre 2005 à octobre 2010, soit un montant de 103'444 francs. B. A._ a déféré la décision du 18 septembre 2012 au Tribunal cantonal du canton de Vaud, Cour des assurances sociales, en concluant principalement à sa réforme, en ce sens que la rente ne fût supprimée que pour la période allant du 1 er octobre 2005 au 31 décembre 2009, la rente entière étant maintenue à compter du 1 er janvier 2010. Subsidiairement, il a conclu au renvoi de la cause pour instruction complémentaire (affaire AI 251/12). A._ a également recouru contre la décision du 25 septembre 2012, en concluant à ce que la restitution ne portât pas sur les rentes perçues dès janvier 2010 (affaire AI 255/12, actuellement pendante devant le Tribunal cantonal). Par jugement du 19 janvier 2015, la juridiction cantonale a admis très partiellement le recours dans la procédure AI 251/12, annulé la décision du 18 septembre 2012, et renvoyé la cause à l'office AI pour complément d'instruction au sens des considérants et nouvelle décision. C. L'office AI interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation, en concluant au rétablissement de sa décision du 18 septembre 2012. L'intimé conclut au rejet du recours. Quant à l'Office fédéral des assurances sociales, il a renoncé à se déterminer.