What are the top 5 GitHub features?

Code writing

Recently, I showed you my favorite extensions I use when working on projects in Azure DevOps.

As I promised you, I’m back with recommendations on tools and extensions worth using in your GitHub.

I will show you which tools I’m using in my private projects and work life. Many of them are built into GitHub, making them even easier to use.

Key points:

  • What are the best features in GitHub for faster coding?
  • How do they help?
  • When to use them?

github.dev

Do you love Visual Studio Code? If yes, you’ll love this little hack. You can use a simple shortcut to open a GitHub repository – either:

  1. Press ‘. ‘ (dot) while browsing any repository or pull request, or
  2. Change the domain name from github.com to github.dev.

And that’s it!

GitHub web-based editor screenshot

GitHub web-based editor view

You will get Visual Studio Code hosted as a web application. This way you can have almost the same experience as using your local machine.

Of course, some plugins won’t work because they use some different processes like omnisharp – but still, you can do many things using github.dev.

Why is github.dev useful?

If you have everything on your computer, you might wonder why you’d want to use it. The answer is relatively easy: because sometimes you don’t have access to your computer, or running your IDE (integrated development environment) is more time-consuming than the change you need to do.

Take this example: you have a conflict inside your pull request; you can resolve the conflict on your local machine or run it inside the browser and fix it.

What follows is an example of ADRs (Architecture Decision Records), or documentation stored as markdown. You can pull everything to change something, open a browser, and write the new text on your tablet or phone.

Launching github.dev gif

Launching editor for your repository

There are a lot more examples and use cases. The real question is, what is the benefit of this kind of tool? And the answer is: time and performance. Using this simple trick, you can reduce feature delivery time.

By the way, did you know that you can log into your Visual Studio Code using a GitHub account, save your configuration and install plugins in the cloud? Then, when you open github.dev and use your GitHub username, your environment will be already configured!

Codespaces

The previous point refers to editing the code via web browser, and as we’ve seen, there are some limitations to it. But don’t worry – here’s a tool that resolves this issue.

What would you think if I told you that you can have your developer environment in the cloud? You could build and run everything independently of your machines.

Imagine you have a vast project with many dependencies where the build process consumes a lot of RAM and CPU – and you work on it on your tablet. This is entirely possible via Codespaces.

Codespaces is available only for GitHub Team and GitHub Enterprise. GitHub created a short video on how to run it for a repository – you can watch it here.

How to work with Codespaces?

The philosophy of this service is simple. You pay as you go, so if you need 4 core CPUs and 8 GB RAM, you will pay $0.36 per hour and have your dev environment whenever you want.

Starting out is significantly straightforward. You can create your first codespace via github.dev or create a config file and push it to the repository. This way, every developer who works on your repository will have the same setup.

For a company that allows having a unique working station per repository and all dev environments, it will be sandboxed.

codespaces architecture diagram

Architecture of Codespaces (image source)

This solution is not perfect, because as you see on the image above, everything is hosted on Linux and uses containers. As a result, it’s impossible to run code strongly related to Windows or macOS, like WPF.

However, most cases are workable via this solution because the work goes to the container. Developers love containers, so their code is often strongly related to containers.

GitHub Copilot

This tool is a must-have for every developer in your organization. It is a user-friendly, AI-based extension installed into your IDE to help you write better code in an efficient way.

GitHub Copilot is powered by OpenAI Codex, a new AI system created by OpenAI. This may be your second pair of eyes during code writing.

GitHub Copilot GitHub Copilot works directly in the GitHub CLI. It draws context from your code, then comments and suggests individual lines and whole functions instantly. I use it every day to speed up my work.

GitHub Copilot demo gif

GitHub Copilot in action

This product can’t replace developers, but it can help us write code faster.

GitHub Copilot authors analyzed open source projects to build their own AI model. Now, so many problems that programmers may come across in their work can be easily resolved.

Enjoying your read? Leave your email address to get the latest insights every two weeks. Subscribe

GitHub Advanced Security

How often do you read that someone commits sensitive data or uses vulnerable dependencies inside their repository? Technology is changing every day. It’s hard to be up to date and read all the news about leaks or vulnerabilities in the libraries that we use.

GitHub creates security features for an easy way to find issues, vulnerabilities, and so on. You can sleep well and not worry about problems because GitHub takes care of them.

When GitHub finds something that is not secure, the system will notify you immediately, and if possible, fix it for you and create a pull request.

Fix security vulnerability screenshot

Fixing a security vulnerability – independent library

My colleague and friend Daniel Krzyczkowski wrote more about this tool, so I encourage you to pause here and read his article: DevOps in GitHub: introduction.

CodeFactor

The final item on a list of applications worth having is CodeFactor. It’s an automatic code reviewer. The configuration reviews pull requests, adds comments, and waits until the developer fixes the issue.

Note:

Please remember that you can’t just rely on this reviewer. This tool only finds code spelling and follows the specified configuration, e.g. naming convention or breaking defined rules.

Still, it allows developers to focus on what’s most important – working out how the business logic was implemented and resolving bugs.

CodeFactor screenshot

Example of code scanning

The solution scans your code and points out what you need to fix or change to have more readable code. In addition, you can check your pull request and show what has been improved or broken by it.

CodeFactor pull request demo screenshot

Checking a pull request

By GitHub users, for GitHub users

You can see that most tools I presented are native GitHub features and are still being improved by the GitHub team for the benefit of the entire open source community. All five services are related only to the developers because GitHub is created for developers. They know what our needs are and how important time is to deliver the functionalities.

Only the last tool has been created by an external party but in my opinion, it is excellent. I also love GitHub Copilot, and I can’t imagine living without it now.

Combining Visual Studio Code in a web browser, aka github.dev, Codespaces, and Copilot, I can deliver every requirement having only access to the internet and any class PC, laptop, or even tablet.

Services like Advanced Security and CodeFactor can further improve and resolve matters that I may skip during coding.

To be 100% honest with you, I look forward to the next day of work, when I have the perfect tools. I hope you find these recommendations useful too. And if you’d like to share your own – contact me, and let’s talk!

Key takeaways:

  1. My recommended 5 GitHub features are: github.dev, Codespaces, GitHub Copilot, GitHub Advanced Security, and CodeFactor.
  2. You can access them directly in browser, GitHub CLI, or GitHub Marketplace.
  3. These features will allow you to write code faster, simplify code review, and help make your project more secure.