1. A system for automatically offering and filling in source code snippets based upon a context of a user in a development environment, the system comprising: one or more processors configured to provide: a code editor that accepts user input comprising source code; a data store that stores a plurality of code snippets of sample source code; and a code completion tool that: monitors user actions during source code input in the development environment; detects a triggering action in the monitored user actions, the triggering action being based upon a current context of the user; identifies a code snippet associated with the triggering action from the plurality of code snippets stored in the data store; offers an option representing the code snippet; and in response to user selection of the option, inserts the code snippet associated with the triggering action into the code editor and automatically customizes the code snippet based upon the current context of the user, the customization of the code snippet including filling in at least some code placeholders in the code snippet with information contained in existing source code, the information being present in the existing source code at the time the triggering action is detected.