Modes of Chatting with GitHub Copilot

by John M. Miller (Code Staffing) | July 30, 2025

John Miller discusses the various chat modes available in GitHub Copilot, including Ask, Edit, Agent, and Custom modes, emphasizing their distinct functionalities and use cases. He highlights how these modes can streamline coding and automation tasks in developers' workflows by providing contextual guidance, code editing, autonomous task execution, and persona-based AI behavior. Miller also delves into custom chat modes, explaining how users can create tailored configurations to instruct Copilot on specific tasks, thereby promoting consistency and efficiency across teams. Additionally, the post addresses the cost implications of using different modes, particularly noting that while Ask and Edit modes are more cost-efficient with standard models, Agent mode incurs higher costs due to its premium quota demands.

Developing User Interfaces with GitHub Copilot, Part 4

by John M. Miller (Code Staffing) | May 29, 2025

In this final installment of this series on AI-assisted user interface development, John M. Miller demonstrates how GitHub Copilot can efficiently implement client-side sorting in a data table using Vue.js. By providing specific prompts, Miller shows how Copilot can automate complex UI changes like adding sortable columns, which traditionally require multiple code and style updates for interactivity and user feedback. GitHub Copilot outlines a step-by-step approach to enhance table functionality, including adding state variables, computed properties, sorting logic, and UI indicators. To encourage better practices, John prompts GitHub Copilot to change its output into a reusable component of sortable table headers, encouraging modular design and reusability.

Developing User Interfaces with GitHub Copilot, Part 3

by John M. Miller (Code Staffing) | April 30, 2025

In "Developing User Interfaces with GitHub Copilot, Part 3," John Miller illustrates the process of integrating data visualizations into web pages using AI tools. His post focuses on leveraging GitHub Copilot to initially implement a CSS-based Sales Funnel visualization in a Vue.js component, which provides interactive features and visual appeal through hover effects and gradient backgrounds. John then has AI transition the visualization to a chart.js-based implementation, highlighting the library's capabilities in rendering responsive charts with enhanced interactivity and flexibility. John notes this effort didn't need manual coding.

Developing User Interfaces with GitHub Copilot, Part 2

John M. Miller (Code Staffing) | 3/29/2025

In his second installment on using GitHub Copilot for user interface development, John delves into creating reusable components, specifically an `OwnerSelectDropdown`, to enhance consistency across multiple Vue views. By leveraging Copilot's new multi-file Copilot Edits feature, developers can apply AI-driven suggestions to streamline workflows for large-scale refactoring, such as encapsulating dropdown logic into components and ensuring these updates reflect across related files. John demonstrates the creation and integration of this component into various views, illustrating both the process and challenges involved. He addresses potential errors and emphasizes the iterative nature of refining AI-generated code with strategic prompts, highlighting Copilot's capability to handle syntax but underscoring the necessiry that a coder must review the generated code.

Developing User Interfaces with GitHub Copilot, Part 1

John M. Miller (Code Staffing) | 2/24/2025

In his blog series, John Miller delves into the practical application of GitHub Copilot for developing and modifying user interfaces, using Vue.js as a demonstration framework. This initial post focuses specifically on integrating a new control—a dropdown component—into an existing Vue.js application used for lead management. John illustrates the process of modifying a component to enable the selection of individual lead owners and fetching corresponding data, demonstrating detailed steps on incorporating AI-driven suggestions into coding practices. John emphasizes the importance of providing GitHub Copilot with precise prompts to generate effective code and highlights the role of developers in directing AI through clear instructions and context.

Adding Dependency Injection to an Existing Solution

John M. Miller (Code Staffing) | 1/30/2025

John Miller explores the challenges and benefits of refactoring legacy code by integrating dependency injection (DI) to improve software maintainability and testability. He addresses common issues in legacy systems, such as tight coupling and lack of interfaces, which hinder the ability to conduct effective unit testing. John emphasizes the importance of DI and interfaces in creating flexible, modular, and isolated code components, thereby facilitating easier testing and maintenance. Using a practical example, he illustrates how DI can decouple service classes from specific implementations and discusses the role of tools like GitHub Copilot in automating and accelerating the refactoring process. By implementing DI, developers can enhance code flexibility, allowing for seamless integration of alternative components and improving overall software quality.

Test Generation Using GitHub Copilot

John M. Miller (Code Staffing) | 12/13/2024

John's blog post "Test Generation Using GitHub Copilot," explores the strategic advantages of employing AI, specifically GitHub Copilot, for generating test automation in software development. Acknowledging the risks of integrating AI-generated code in production environments, John suggests that test automation provides a safer entry point due to its non-production deployment. Highlighting test automation's role in exposing design flaws and enabling refactoring, the post demonstrates how Copilot can effectively generate unit tests, using a complex C# BankAccount class as a case study. John goes on to show examples of the process of generating tests using Copilot’s integration with various IDEs, emphasizing that despite occasional test adjustment requirements, AI-enhanced test automation facilitates higher code coverage, efficiency, and reliability. John advocates for embracing AI tools like Copilot to enhance the development workflow, paving the way for more robust and maintainable software systems.

Unleashing the Power of GitHub Copilot in Visual Studio Code

John M. Miller (Code Staffing) | 11/11/2024

John Miller explores the transformative potential of GitHub Copilot, an AI-powered coding assistant created by GitHub and OpenAI. Leveraging machine learning on vast amounts of public code, Copilot offers context-aware code suggestions, enhancing productivity for developers by streamlining tasks such as writing functions or debugging. John provides a guide to integrating GitHub Copilot with Visual Studio Code, covering installation, authentication, and features like autocomplete, context-aware coding, multiline completions, and example-based learning. He delves into the functionality of the @workspace command, Copilot's chat commands, and various integration features within VS Code. The post emphasizes Copilot's ability to optimize the coding process, allowing developers to focus on creative problem-solving by reducing the burden of writing boilerplate code and improving overall workflow efficiency.

Boosting Developer Productivity with AI Tools and Effective Strategies

John M. Miller (Code Staffing) | 10/14/2024

John Miller explores how AI is transforming the tech industry by enhancing developers' capabilities rather than threatening their jobs. He emphasizes that developers who embrace AI can automate repetitive tasks, enhance coding efficiency, and focus on more strategic work. Key insights from McKinsey and Microsoft highlight AI's role in accelerating code documentation, optimization, and writing, while also promoting deep work by minimizing interruptions. Improved developer experiences lead to higher product quality and employee satisfaction. John advocates for adopting an AI mindset to maintain a competitive edge and plans to delve deeper into AI's impact on the software development life cycle in future posts.