A method for augmenting a software development environment, the method comprising: managing access to a code repository and version control application; generating a communication interface (206, 506, 706, 1306, 1806, 1906, 2006, 2106, 2206, 2306) integrated into a code editor (104, 204, 406, 504, 604, 704, 1304, 1804, 1904, 2004, 2104, 2204, 2304) and code navigation display, wherein the communication interface is configured to display one or more message streams of user based communication associated with selected code displayed in the code editor; creating a message (1803, 1930) in the one or more message streams, further comprising: receiving, via the code navigation display, a request to generate the message associated with code (230, 1308, 1908, 2008) being edited in the code editor, the request identifying a type of the message to generate; generating a predefined form (1902, 2002) for generating the message, wherein the predefined form comprises one or more field associated with the type of the message; displaying the predefined form in the communication interface; receiving, via the predefined form, data to be included in the message; generating the message based on the data received in the predefined form based on a selection received in the predefined form, wherein the message is associated with a codeblock and a reference to the codeblock is embedded into the message; and providing the message to one or more communication systems; monitoring the one or more message streams for presence of code; identifying and linking a message in the one or more message streams or a message stream to a codeblock; and determining whether a message in the one or more message streams relates to a codeblock and visually distinguishing the message in the one or more message streams in the communication interface to indicate the relationship between the message and the codeblock to the user. managing access to a code repository and version control application; generating a communication interface (206, 506, 706, 1306, 1806, 1906, 2006, 2106, 2206, 2306) integrated into a code editor (104, 204, 406, 504, 604, 704, 1304, 1804, 1904, 2004, 2104, 2204, 2304) and code navigation display, wherein the communication interface is configured to display one or more message streams of user based communication associated with selected code displayed in the code editor; creating a message (1803, 1930) in the one or more message streams, further comprising: receiving, via the code navigation display, a request to generate the message associated with code (230, 1308, 1908, 2008) being edited in the code editor, the request identifying a type of the message to generate; generating a predefined form (1902, 2002) for generating the message, wherein the predefined form comprises one or more field associated with the type of the message; displaying the predefined form in the communication interface; receiving, via the predefined form, data to be included in the message; generating the message based on the data received in the predefined form based on a selection received in the predefined form, wherein the message is associated with a codeblock and a reference to the codeblock is embedded into the message; and providing the message to one or more communication systems; receiving, via the code navigation display, a request to generate the message associated with code (230, 1308, 1908, 2008) being edited in the code editor, the request identifying a type of the message to generate; generating a predefined form (1902, 2002) for generating the message, wherein the predefined form comprises one or more field associated with the type of the message; displaying the predefined form in the communication interface; receiving, via the predefined form, data to be included in the message; generating the message based on the data received in the predefined form based on a selection received in the predefined form, wherein the message is associated with a codeblock and a reference to the codeblock is embedded into the message; and providing the message to one or more communication systems; monitoring the one or more message streams for presence of code; identifying and linking a message in the one or more message streams or a message stream to a codeblock; and determining whether a message in the one or more message streams relates to a codeblock and visually distinguishing the message in the one or more message streams in the communication interface to indicate the relationship between the message and the codeblock to the user.