diff --git a/PREP.md b/PREP.md new file mode 100644 index 0000000..3eb7c66 --- /dev/null +++ b/PREP.md @@ -0,0 +1,40 @@ +# GitHub Copilot C++ Workshop Preparation + +## Prerequisites + +### GitHub Copilot +- GitHub Copilot License +- [VSCode](https://code.visualstudio.com/download) + +
(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. + + +### 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/) \ No newline at end of file diff --git a/README.en.md b/README.en.md new file mode 100644 index 0000000..552d62b --- /dev/null +++ b/README.en.md @@ -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). +
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 (cmd+shift+p or ctrl+shift+p) 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 \ No newline at end of file diff --git a/README.md b/README.md index 59fe221..5657e8f 100644 --- a/README.md +++ b/README.md @@ -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ツールを提供します。 ## 事前準備 下記ツールが必要となります。 @@ -64,4 +68,6 @@ buildするごとにテストを自動実行することも可能です。 - [ ] `Distance`変換クラスを完成させ、`main.cpp`に含める(オプションとして、最初にテストを実装し、TDDアプローチを取る) - [ ] `Distance::convertDistance`のテストを追加する - [ ] すべての`printf`と`scanf`をリファクタリングし、`std::cout`と`std::cin`を使用する -- [ ] キロとポンドの間で変換するための新しい`Weight`変換クラスを追加する \ No newline at end of file +- [ ] キロとポンドの間で変換するための新しい`Weight`変換クラスを追加する +- [ ] コードの問題点を発見し、Copilotの助けを借りて問題を解決する +- [ ] あなたのアイデアで新しい機能を追加し、Copilotの助けを借りて実装する \ No newline at end of file diff --git a/docs/images/copilot-extension-icon-vscode.png b/docs/images/copilot-extension-icon-vscode.png new file mode 100644 index 0000000..bde6261 Binary files /dev/null and b/docs/images/copilot-extension-icon-vscode.png differ