will have been doing (for how long, by then) (B2 Grammar)
You already know will have + the past participle (I will have finished). For an action that will have been going on for a while up to a future point, use will have been + the -ing form. It puts the spotlight on how long.
will have been + the -ing form
By June, I will have been working here for ten years.
Next month, they will have been living abroad for a year.
By midnight, we will have been driving for six hours.
Try it: By the time the guests arrive, Mei ___ for hours. (will have been cooking / will cook / is cooking) Answer: will have been cooking — It will have been going on for a stretch (for hours) up to a future moment, so use will have been + the -ing form: will have been cooking. "Will cook" only points at the future, not how long. "Is cooking" is just now.
Negatives and questions
To make it negative, put not (or n't) after will: won't have been + the -ing form. The have been part never changes. For a question, move will to the front: Will + subject + have been + the -ing form?
By March, she won't have been working here for very long.
Will they have been traveling for more than a day by the time they land?
Won't we have been waiting for over an hour by then?
Try it: By 9 o'clock, the machine ___ for long, so it will still be cool. (won't have been running / won't have running / will have been not running) Answer: won't have been running — For the negative, not/n't goes right after will: won't have been running. You keep have been in place — "won't have running" drops been, and "will have been not running" puts not in the wrong spot.
Try it: You are on a long flight and want to know the total flying time. Ask how long you will have been in the air when the plane lands. Build the question. (Leave out the word you don't need.) Answer: Will we have been flying for six hours by the time we land? — In a question, will comes first, then the subject: Will we have been flying...? The subject (we) sits right after will, not before it. Leave "be" out — will be flying is the future continuous, a different form; this one keeps have been + the -ing form.
Start with the future point
This form almost always comes with a future point and a length of time. Set the scene with by + a time, or by the time + a clause.
By next year, she will have been studying for her exams for months.
By the time you finish, I will have been waiting for an hour.
By Friday, they will have been rehearsing all week.
Try it: ___ the film ends, we will have been sitting here for three hours. (By the time / Since / During) Answer: By the time — You need a phrase that sets the future point the action runs up to, and "By the time" does that: By the time the film ends. "Since" looks backward from now, and "During" just names a period, neither marks the end point.
Still going vs. already finished
Compare it with will have + the past participle (the future perfect simple). Will have been + -ing says the action is still going at that future point and counts how long. Will have + past participle says the action is finished by then — a completed result. Same time frame, different focus.
By noon, I will have been painting for hours. (still painting)
By noon, I will have painted the whole fence. (finished, a result)
By Friday, they will have been rehearsing all week. (ongoing) — By Friday, they will have rehearsed the whole play. (done)
Try it: One sentence is about how long the action keeps going, the other about a finished result. Which one counts how long the action has been going and is still in progress at that point? (By next month, he will have been training for a year. / By next month, he will have trained the new staff. / By next month, he will train the new staff.) Answer: By next month, he will have been training for a year. — Will have been + -ing keeps the action running and counts the time, still in progress at that point: will have been training for a year (still training). "Will have trained" sounds finished, a completed job. "Will train" is just a plain future plan, with no how-long in view.
Common mistakes to avoid
Two slips happen a lot. 1) Don't drop been. The full form is will have been + the -ing form — never will have working or will been working. 2) Don't use it for a finished amount. If you say how much got done (three reports, the whole book), use will have + the past participle instead; keep this form for how long the action runs.
✗ By May, I will have working here for a year. → ✓ By May, I will have been working here for a year.
✗ By tonight, he will have been reading the whole book. → ✓ By tonight, he will have read the whole book.
✓ By tonight, he will have been reading for three hours. (how long — still going)
Try it: Which sentence forms the future perfect continuous correctly? (By April, she will have been teaching for a decade. / By April, she will have teaching for a decade. / By April, she will been teaching for a decade.) Answer: By April, she will have been teaching for a decade. — The full form is will have been + the -ing form: will have been teaching. You can't drop a piece — "will have teaching" loses been, and "will been teaching" loses have. Both are needed, in that order.