Using GitHub Copilot to Speed Up Your Development Workflow

Using GitHub Copilot to Speed Up Your Development Workflow

4 Min. Read

As a software engineer, I’m always evaluating tools and technologies that can optimize my workflow. Developer productivity isn’t just about writing more code—it’s about reducing friction, whether that’s context-switching, making repetitive edits, or understanding unfamiliar parts of a codebase. That’s where GitHub Copilot comes in: making tasks that once felt monotonous or time-consuming into faster, more intuitive processes.

Let’s dive into three features of Copilot I use everyday to increase my productivity and write better code: Copilot Edits, workplace contexts, and customizing Copilot for your workspace.

Copilot Edits

Screenshot of the Copilot Edits interface before adding any files or prompts.

GitHub recently introduced Copilot Edits in preview for Visual Studio Code, allowing developers to make changes across multiple files based on a single input. This feature is a gamechanger for anyone working in large codebases where updates often span several files. Whether it’s something simple like renaming a variable or refactoring a shared component, Copilot Edits significantly reduces the manual effort required to ensure consistency across your project.


Experimenting with LLMs? Read our best practices guide first!


Example

In my work on the App Enablement team here at Honeycomb (think design system, tooling, and developer support), Copilot Edits has significantly sped up the migration of old components to newer design system versions. Recently, I introduced a new Heading component and needed to update all instances of the old component within a specific part of the application. I included the relevant Admin files where the old component was used, along with the new and old component files in the workspace. I then prompted Copilot to analyze the two component files, determine the migration path, and apply the necessary changes.

Screenshot of the added files and prompt in the Copilot Edits interface.

Copilot automatically updated each file, modifying imports and ensuring that all instances adhered to the new component’s API. What would have taken me about 15-30 minutes of repetitive manual updates was completed in just one minute with Copilot, freeing me up to focus on more complex tasks.

Screenshot of the removed and replaced components thanks to the help of Edits.
Screenshot of the removed and replaced imports thanks to the help of Edits.

Workspace context

Copilot also has the ability to intelligently retrieve relevant files and symbols. When prompted, it incorporates these into its suggestions, offering links and code examples directly tied to the current workspace. This context-aware assistance is super helpful when I’m working with unfamiliar parts of a codebase, helping me quickly locate dependencies, understand relationships, and make accurate changes without extensive manual exploration.

Example

Workspace context comes in handy for me when I need to upgrade / fix issues in packages. If I don’t know exactly how or where to update Storybook, for instance, I can start my search by asking Copilot with the tag @workspace so it knows to search the whole codebase and add relevant references automatically. This gives me a starting point to dive in and better understand which files I should start reviewing and any context of the current usages of Storybook.

Screenshot of the results of tagging @workspace in a codebase searching out where all Storybook gets used.

Customizing Copilot for your workspace

Copilot also offers configurability, allowing developers to tailor it to their specific workflows. With the ability to give custom instructions through a .github/copilot-instructions.md file, I can set definitions for code generation and test creation. These settings allow me to align Copilot’s suggestions with the preferred coding standards and project-specific requirements of my company.

Example

If I notice I’m constantly having to redirect Copilot to craft answers in a particular way, I go straight to my instructions file and add it there. Most commonly, I add specifics about how to write in React, like “Always write React components using Typescript.” 

I also include specifics about code conventions we employ at Honeycomb, or tweak how Copilot structures its responses so I can read them more quickly. This helps me avoid writing long prompts and lets me focus on the thing I’m trying to fix.

Screenshot of the copilot-instructions.md file with a few conventions for Copilot to follow when prompted.

Conclusion

Using these features is now an essential part of my development workflow. It allows me to focus on problem-solving larger issues and building high-quality software, rather than tedious tasks. By continuously adjusting how I use Copilot with each update, it now feels like a tool I’m working with and not against.

Want to read more on ways we can use AI in engineering? My colleague Ruthie recently published a post on the topic: AI Strategies for Software Engineering Career Growth.

Don’t forget to share!
Grady Salzman

Grady Salzman

Senior Software Engineer

Grady is a Chicago-based Software Engineer who enjoys navigating front-end intricacies & crafting component libraries. Beyond the screen, Grady enjoys cobbling (shoemaking), training his English Springer Spaniel, and trying new food with family and friends.

Related posts