GitHub Copilot Workspace: A New Era of AI-Driven Programming

GitHub Copilot Workspace: A New Era of AI-Driven Programming

When GitHub announced “GitHub Copilot Workspace” at the GitHub Universe event in October 2024, I couldn’t help but see it as the next step in improving developer experience within IDEs. As a regular IntelliJ user, I greatly appreciate the efforts of JetBrains, the company behind IntelliJ, in adding AI-driven features to IntelliJ. However, Copilot Workspace promises to fundamentally change the way we write code, so I was eager to try it out.

After the announcement of the technical preview availability, I logged into my GitHub account, joined the waiting list, and ended the day. To my surprise, the next morning, I received an email granting me preview access.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

What is Copilot Workspace?

If you haven’t heard, Copilot Workspace is GitHub’s AI-native development environment, and note that it is different from the regular Copilot. It allows you to generate code by writing requests in natural language, which you can do in English, Spanish, German, or any language you are fluent in. As a complete development environment, it includes additional code-related features.

After gaining access, I decided to test it using a codebase I maintain for teaching Camunda 8. Once you start a session, you can use Copilot Workspace in an iterative manner, with the main three steps of an iteration being:

  • • Brainstorming
  • • Planning
  • • Implementation

Brainstorming: Your Thinking Partner

I used Copilot Workspace in my browser, so all the screenshots you see are taken from the online session. There is also a Visual Studio plugin, but I didn’t use it in this article.

The documentation mentions that you can use Copilot Workspace as your thinking partner, which applies on different levels; you may already have an idea, or you can request Copilot Workspace to start brainstorming, which was my case.

As a beginner, I had no ready ideas; I wanted to explore and observe, so I started asking simple questions: Can you provide an overview of this repository? Just like that, with no other details or context. Copilot Workspace analyzed the repository and gave me an impressive answer.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

Excitingly, the level of detail it provided was clear, specific, and precise explanations. Out of curiosity for its flexibility, I wanted to see if I could request an explanation of a specific module and how it would present that information. My project includes two modules:

  • • A fully functional module primarily composed of Spring starters
  • • A “raw” Java module containing several to-dos and improvements

Both modules are essentially Camunda workers. When I inquired about the differences between these two modules, it summarized the main changes and the actual differences between the modules.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

I really liked the way the information was presented, using easy-to-understand sentences. The flow of information also felt appropriate as it was able to explain quite complex content in an understandable manner.

A standout feature I noticed was the “View References” link, where I checked the files Copilot Workspace used in its analysis. Comparing those files with my detailed knowledge of the repository, I was pleased to see it listed many important files.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

Building on the familiarity with brainstorming, I wanted to see how it performed on tasks like refactoring or adding comments. To be honest, the regular Copilot has already performed excellently in these areas. The key with Workspace is observing how easily it transitions me from ideas to implementation and the fluency of using simple English. Therefore, I inquired about areas for improvement.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

Planning: From Ideas to Strategy

I selected an idea from brainstorming: refactoring a class. I copied this idea into the chat and clicked the “Plan” button. The workspace analyzed the request, made certain changes, and provided a summary of those changes. These changes were **”stacked”** and not yet implemented. This provided time for review and decision on how to proceed; in other words, it was a thoughtful approach that gave developers control.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

Implementation: From Planning to Code

Before clicking “Implement Selected Files,” I noticed the “Brainstorm” button was still active. Out of curiosity, I clicked it again to see what would happen. To my surprise, Copilot Workspace provided a comparison between the current state and the suggested solution. This gave us valuable insights into the potential impact of the changes.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

Without any further deviation, I clicked “Implement.” The changes were executed, and the code was ready for review. Copilot Workspace provided a real-time editor for further adjustments, but I limited my role to just observing the generated code and approving it.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

Once approved, Copilot Workspace created a pull request (or merge request, I prefer this term). I needed to go to the regular “Pull Requests” tab of the repository and proceed as per the usual process for any pull request.

GitHub Copilot Workspace: A New Era of AI-Driven Programming

Big Picture: Understanding the Implications

I didn’t write a single line of code; I just entered my thoughts like taking notes. I can say that GitHub Copilot Workspace works entirely based on plain text, maintaining the opportunity to edit code in the real-time editor. Developers control the workflow and the steps involved. As a preview version, it is already very powerful and has advanced features and capabilities.

Do I like it? Yes, I do, but I also have some reservations. In this article, I showcased my experience using it for the first time, and it worked well. Since then, I have made several modifications with Copilot Workspace and noticed that in my case, it performed poorly when handling libraries but excelled in structure. In one session, I spent more time on it than coding myself. However, I could also argue that this relates to my prompts and the fact that the product is still in preview.

If we consider Copilot Workspace as an AI-native development environment aimed at professional developers, here are my early conclusions:

  • • Developers act as requirements engineers. Domain knowledge is still needed to provide appropriate input.
  • • Developers act as validators, ensuring that such tools keep humans involved, ensuring the IDE performs what we want it to do.
  • • AI-driven tools like this typically require expertise to operate effectively. The trend here is that when a tool is AI-driven and aimed at a high-skilled audience, it tends to be more specialized in functionality and design.

With its release, it can be said that the field of AI is maturing beyond foundational models. Companies are now leveraging these models to create unique user-centered applications and agents.

GitHub is increasingly becoming the preferred place for the AI development community, and other products may not perform as well as we know them in the future due to the risk of falling behind. The primary reason is that GitHub is integrating efforts from major players to include access to AI tools and pushing the next stage of development innovation.

GitHub Copilot Workspace: A New Era of AI-Driven Programming
Visit 200+ LLM Aggregation Platforms: https://rifx.online
!!! Note: Please click the original link to view the links in the article

Leave a Comment