It's worth mentioning...
..that iGTD allows you to assign existing contexts and projects to your tasks in a very efficient way. Moreover, you can add new contexts/projects on the fly. Please read the following tutorial.
Activating the chooser
To make the contexts/projects chooser visibile you simply double-click the task in the context/project column. Or use the Tab key to tab to this column when editing the task.
The chooser displays a popup table with available contexts/projects:
Using the chooser with keyboard
You can browse the list of contexts with the down/up arrow keys - notice that you can quickly recognize the elements with children ('nested' contexts/projects) - their count is displayed:
You can also use the type-ahead feature to quickly select a desired context/project - just type in few first letters of its name:
...and press Enter key to assign it to the task.
You can browse the subcontexts/subprojects of the selected context/project by hitting the right arrow key:
If there are no nested contexts/projects available, you can still hit the right arrow key:
enter the name for a new subcontext/subproject and hit Enter. This will add a new subcontext and assign it to the task.
You can also enter the name for a new subcontext, hit the right arrow key to create it and to go inside it...
... where you can add another subcontext!
Of course, you can go back to parent context/project by pressing the left arrow key.
Using the chooser with mouse
You can assign a chosen context/project to a task by clicking its name in the drop down list:
You can display the subcontexts/subprojects of a context/project by doubleclicking its name - and go back to parent context/project by clicking the column header;