東京に住んで何年ですか?
How long have you been living in Tokyo?
シチュエーション: 家の中
「どれくらい~している?」、「~して何年?」と期間を聞くときは「have you been ~ing」を使います。「終わっていること」なら過去形、「まだ続いていること」なら完了形です。
たとえば、
もう東京に住んでなければ「How long did you live in Tokyo?(何年住んでいたの?)」と過去形、
まだ東京に住んでいれば「How long have you lived in Tokyo?(完了形)」、又は「How long have you been living in Tokyo?(完了進行形)」を使います。
完了形(have you (done)よりも完了進行形(have you been ~ing)の方が一般的に使われるし、より使いやすいです。完了形だと毎回動詞の過去分詞を考えなければならないけど、完了進行形なら「動詞+ing」を使います。
他にも
How long have you been learning English?
(英語を習い始めてどれくらい?)
How long have you been working there?
(そこで何年くらい働いているの?)
How long have you been dating?
(付き合ってどれくらい?)