From 1633775ec8e419ea60209ffba88d5edebebc1049 Mon Sep 17 00:00:00 2001 From: junkofujiwara Date: Sun, 13 Oct 2024 18:28:54 +0900 Subject: [PATCH 1/2] English version update --- PREP.md | 40 +++++++++++++++++ README.en.md | 41 ++++++++++++++++++ README.md | 6 ++- docs/images/copilot-extension-icon-vscode.png | Bin 0 -> 22386 bytes 4 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 PREP.md create mode 100644 README.en.md create mode 100644 docs/images/copilot-extension-icon-vscode.png 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..c9945b5 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ツールを提供します。 ## 事前準備 下記ツールが必要となります。 diff --git a/docs/images/copilot-extension-icon-vscode.png b/docs/images/copilot-extension-icon-vscode.png new file mode 100644 index 0000000000000000000000000000000000000000..bde626175c2b622d2192226ea47a476f12592fcf GIT binary patch literal 22386 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 v|C`p5hSpEw4MHT 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 Date: Sun, 13 Oct 2024 18:30:35 +0900 Subject: [PATCH 2/2] add hands on items --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c9945b5..5657e8f 100644 --- a/README.md +++ b/README.md @@ -68,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