Skip to content

English version updates #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Oct 13, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions PREP.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# GitHub Copilot C++ Workshop Preparation

## Prerequisites

### GitHub Copilot
- GitHub Copilot License
- [VSCode](https://code.visualstudio.com/download)

<br>(Note: This readme is written for VSCode. If you are using JetBrains IDE, please refer to the [JetBrains IDE](https://docs.github.com/en/enterprise-cloud@latest/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-your-environment?tool=visualstudio) section of the GitHub Copilot documentation.)

### Workshop Code & C++ basic environment
- Source Code (This repository. Git Clone it to your local machine or get files from your instructor.)
- [CMake](https://cmake.org/download/)
- [Make](https://www.gnu.org/software/make/)
- [GCC](https://gcc.gnu.org/) (or [Clang](https://clang.llvm.org/))

## Enable GitHub Copilot Extension
- Install [VSCode GitHub Copilot Extension](vscode:extension/GitHub.copilot) (or [JetBrains IDE GitHub Copilot Plugin](https://plugins.jetbrains.com/plugin/20772-github-copilot))
- Setup netowrking (if neccessary) (Reference: [Configuring your proxy server or firewall for Copilot](https://docs.github.com/en/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/configuring-your-proxy-server-or-firewall-for-copilot))
- Sign in to GitHub Copilot Extension with your GitHub account

## Verification
### GitHub Copilot is Enabled
- Make sure the Extension is enabled by checking the status bar at the bottom of the VSCode window.
<img src="docs/images/copilot-extension-icon-vscode.png" />

### Build environment
Run the following two commands to prepare the make file and then build the project. You can run the following commands in your terminal or in VSCode Terminal.
```bash
cmake -S . -B build
cmake --build build
```

## Shortcut Information
- [VS Code](https://docs.github.com/en/enterprise-cloud@latest/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-your-environment?tool=vscode)
- [JetBrains IDE](https://docs.github.com/en/enterprise-cloud@latest/copilot/managing-copilot/configure-personal-settings/configuring-github-copilot-in-your-environment?tool=visualstudio)

## Trust Center
- [GitHub Trust Center](https://github.com/trust-center)
- [GitHub Copilot Trust Center](https://copilot.github.trust.page/)
41 changes: 41 additions & 0 deletions README.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# GitHub Copilot C++ Workshop

[:jp: Japanese](README.md) | [:us: English](README.md)

This is a hands-on workshop to demonstrate the usage of the [GitHub Copilot](https://github.com/features/copilot).
<br>It is a CLI tool that allows users to convert between units of different types.

## Getting Started
### Build
Run the following two commands to prepare the make file and then build the project:
```bash
cmake -S . -B build
cmake --build build
```
### Run & Test
- To run the main program:
```bash
./build/main
```
- To execute the tests:
```bash
/build/run-tests
```
### Run as VSCode Tasks
The above commands are also all defined as tasks in the `.vscode/tasks.json` file. You can run them from the VSCode Task Runner from Command Palette (<key>cmd</key>+<key>shift</key>+<key>p</key> or <key>ctrl</key>+<key>shift</key>+<key>p</key>) and typing `Run Task`.:

| Task | Description |
| ------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `prepare` | Runs `cmake -S . -B build` command. You most likely won't have to run this command manually, use `build` instead. |
| `build` | Runs `Prepare` followed by `cmake --build build` command |
| `clean:build` | Same as `Build`, but Removes the directory before executing the Build step |
| `Start Application` | Runs the `./build/main` command |
| `Run Tests` | Runs the `./build/run-tests` command |

## Hands On
- [ ] Finish the `Distance` Conversion Class and include it in the `main.cpp` (optionally, first implement tests and do a TDD appraoch)
- [ ] Add some Tests for the `Distance::convertDistance`
- [ ] Refactor all `printf` and `scanf` and use `std::cout` and `std::cin` instead
- [ ] Add a new Conversion Class for `Weight` to convert in between Kilos and Pounds
- [ ] Find any issue and fix the issue with the help of Copilot
- [ ] Add new feature with your ideas with the help of Copilot
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# GitHub Copilot C++ Training
# GitHub Copilot C++ Workshop

[:jp: Japanese](README.md) | [:us: English](README.md)

こちらは、[GitHub Copilot](https://github.com/features/copilot) の使用方法を紹介するハンズオンワークショップです。異なる単位の間で変換を行うCLIツールを提供します。

## 事前準備
下記ツールが必要となります。
Expand Down Expand Up @@ -64,4 +68,6 @@ buildするごとにテストを自動実行することも可能です。
- [ ] `Distance`変換クラスを完成させ、`main.cpp`に含める(オプションとして、最初にテストを実装し、TDDアプローチを取る)
- [ ] `Distance::convertDistance`のテストを追加する
- [ ] すべての`printf`と`scanf`をリファクタリングし、`std::cout`と`std::cin`を使用する
- [ ] キロとポンドの間で変換するための新しい`Weight`変換クラスを追加する
- [ ] キロとポンドの間で変換するための新しい`Weight`変換クラスを追加する
- [ ] コードの問題点を発見し、Copilotの助けを借りて問題を解決する
- [ ] あなたのアイデアで新しい機能を追加し、Copilotの助けを借りて実装する
Binary file added docs/images/copilot-extension-icon-vscode.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.