Programming with GitHub Copilot

Book description

Accelerate your programming with the most popular AI coding tool on the market: GitHub Copilot

In Programming with GitHub Copilot: Write Better Code — Faster, veteran software developer and GitHub community hero Kurt Dowswell delivers an insightful and hands-on exploration of GitHub's powerful, new AI coding assistant, Copilot. In the book, you'll discover how to use the tool's capabilities to push the boundaries of what you thought was possible in programming.

Even if you've used autocomplete tools—like VS Code's TabNine extension—before, you'll be floored by GitHub Copilot's potential to transform the way you code. You'll learn how to install, configure, and use the software, from employing it's most common and widely used features to deploying business and enterprise functionality. You'll even discover how to fix runtime and compilation bugs and write unit, integration, and end-to-end tests.

You'll also find:

  • Prompt strategies to get GitHub Copilot to help you brainstorm new code solutions
  • What the future looks like for AI-assisted coding, including discussions of issues like code licensing and ethics
  • Directions for chatting with Copilot, including common commands and prompts to help you guide the conversation to where you want it to go

Perfect for practicing programmers, developers, and software engineers, Programming with GitHub Copilot is also an essential resource for coders and other IT practitioners-in-training who want to expand their knowledge and improve the scope and depth of their programming skillsets.

Table of contents

  1. Cover
  2. Table of Contents
  3. Title Page
  4. Introduction
  5. Part I: Getting Started with GitHub Copilot
    1. CHAPTER 1: Get Started with GitHub Copilot
      1. Learn Why GitHub Copilot Matters
      2. Create a GitHub Account
      3. Acquire a GitHub Copilot License
      4. Install an IDE Extension
      5. First Run: Test Copilot
      6. Conclusion
      7. Reference
    2. CHAPTER 2: Decoding GitHub Copilot
      1. Uncover the AI Behind GitHub Copilot
      2. Understand Security, Privacy, and Data Handling
      3. Understand Copyright Protections
      4. Explore the GitHub Copilot Trust Center
      5. Conclusion
      6. References
  6. Part II: GitHub Copilot Features in Action
    1. CHAPTER 3: Exploring Code Completions
      1. Introducing Code Completions
      2. Working with Copilot Code Completions
      3. Discovering the Toolbar and Panel
      4. Updating Copilot Settings
      5. Leveraging Keyboard Shortcuts
      6. Conclusion
    2. CHAPTER 4: Chatting with GitHub Copilot
      1. Discovering Copilot Chat
      2. Defining Prompt Engineering with Copilot Chat
      3. Commanding Your Conversation with Precision
      4. Conclusion
  7. Part III: Practical Applications of GitHub Copilot
    1. CHAPTER 5: Learning a New Programming Language
      1. Introducing Language Education with Copilot
      2. Setting Up Your Development Environment
      3. Learning the Basics
      4. Creating a Console Application
      5. Explaining Code with Copilot
      6. Adding New Code
      7. Learning to Test
      8. Conclusion
      9. Reference
    2. CHAPTER 6: Writing Tests with Copilot
      1. Establishing the Example Project
      2. Adding Unit Tests to Existing Code
      3. Exploring Behavior-Driven Development with Copilot
      4. Conclusion
    3. CHAPTER 7: Diagnosing and Resolving Bugs
      1. Establishing the Example Project
      2. Fixing Syntax Errors
      3. Resolving Runtime Exceptions
      4. Resolving Terminal Errors
      5. Conclusion
    4. CHAPTER 8: Code Refactoring with Copilot
      1. Introducing Code Refactoring with Copilot
      2. Establishing the Example Project
      3. Refactoring Duplicate Code
      4. Refactoring Validators
      5. Refactoring Bad Variable Names
      6. Documenting and Commenting Code
      7. Conclusion
    5. CHAPTER 9: Enhancing Code Security
      1. Detailing Code Security
      2. Establishing the Example Project
      3. Exploring Code Security
      4. Finding and Fixing Security Issues
      5. Conclusion
    6. CHAPTER 10: Accelerating DevSecOps Practices
      1. Detailing DevSecOps
      2. Simplifying Containers
      3. Automating Infrastructure as Code
      4. Streamlining CI/CD Pipelines
      5. Conclusion
    7. CHAPTER 11: Enhancing Development Environments with Copilot
      1. Amplifying Visual Studio with Copilot
      2. Elevating Azure Data Studio with Copilot
      3. Boosting JetBrains IntelliJ IDEA with Copilot
      4. Enhancing Neovim with Copilot
      5. Consulting Copilot in the GitHub CLI
      6. References
      7. Conclusion
    8. CHAPTER 12: Universal Conversion with GitHub Copilot
      1. Translating Natural Language to Programming Languages
      2. Converting JavaScript Components
      3. Simplifying CSS Styles
      4. Enhancing Nontyped Languages with Types
      5. Transitioning Between Frameworks and Libraries
      6. Converting Object-Oriented Languages
      7. Migrating Databases
      8. Transitioning CI/CD Platforms
      9. Modernizing Legacy Systems
      10. Conclusion
      11. Reference
  8. Part IV: Key Insights and Advanced Use Cases for GitHub Copilot
    1. CHAPTER 13: Considering Responsible AI with GitHub Copilot
      1. Introducing Responsible AI
      2. Examining How Copilot Implements Responsible AI
      3. Programming with AI Responsibly
      4. Conclusion
      5. References
    2. CHAPTER 14: Augmenting the Software Development Life Cycle with GitHub Copilot
      1. Introducing the SDLC
      2. Assessing the Adoption of AI in the SDLC
      3. Detailing Levels of AI Integration in the SDLC
      4. Showcasing GitHub Copilot in the SDLC
      5. Addressing Concerns: AI Adoption and the Future of Work
      6. Conclusion
      7. References
    3. CHAPTER 15: Exploring Copilot Business and Enterprise
      1. Introducing Copilot Business and Enterprise
      2. Chatting with Copilot in GitHub.com
      3. Indexing Code Repositories to Improve Copilot's Understanding
      4. Getting Better Answers with the Knowledge Base
      5. Leveraging Copilot Chat in Code Repository Files
      6. Enhancing Pull Requests with Copilot
      7. Managing GitHub Copilot
      8. Looking Ahead
      9. Conclusion
      10. References
  9. Conclusion
  10. APPENDIX A: Resources for Further Learning
    1. GitHub Copilot Overview and Subscription Plans
    2. Community Engagement and Support
    3. Legal and Ethical Considerations
    4. Research and Insights
  11. Glossary
  12. Index
  13. Copyright
  14. Acknowledgments
  15. About the Author
    1. About the Technical Editor
  16. End User License Agreement

Product information

  • Title: Programming with GitHub Copilot
  • Author(s): Kurt Dowswell
  • Release date: August 2024
  • Publisher(s): Wiley
  • ISBN: 9781394263370