GPTutor(π€,π€) is a Visual Studio Code extension that uses OpenAI's GPT (Generative Pre-trained Transformer) models to provide users with code explanations and Reviews for a better understanding of their code and enabling users to get insights into code blocks and improve their coding skills. (Supported Move programming languages now)
https://marketplace.visualstudio.com/items?itemName=gptutor.gptutor
Come and participate in the workshop on June 28th, from 11:00 AM to 12:30 PM GMT+9, featuring Sam Blackshear, the creator of Move, and Eason Chen, the creator of GPTutor. Join us to delve into the world of GPTutor and Move development.
Register at https://lu.ma/gptutor
GPTutor is an open-source, free tool. Donations are welcome:
Sui: gptutor.sui
Ethereum: 0xCD1Ef67405DC7B2516298dcfc9De8A325d29635C
BTC: 1AoMLkWvi3MGvCpeqq5YYRERKX3cZQx8U1
- Code tutor using OpenAI's GPT models.
- Code Review (review) using OpenAI's GPT models.
- Code comment using OpenAI's GPT models.
- Supports Move language for now.
- Non-custodial API key (100% Free and we don't own your key).
- Supported GPT-4 model (default GPT-3.5)
![ζͺε 2023-06-11 δΈε4 00 56](https://private-user-images.githubusercontent.com/84802160/244923880-94fe1248-5308-42a8-b836-2f1694a9c5c9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxNDQxNzEsIm5iZiI6MTczOTE0Mzg3MSwicGF0aCI6Ii84NDgwMjE2MC8yNDQ5MjM4ODAtOTRmZTEyNDgtNTMwOC00MmE4LWI4MzYtMmYxNjk0YTljNWM5LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIzMzExMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTRiN2E4YmRkNTNkN2RhMjc2OWQwMGZiNzRkMDIwNDA1YWU2OWQwOGQ5ZmU0NTljMTgxNDRlZjY4YmMyMGNhNTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.YGrkelkkdcKAw-W4ahDoVpJtQF1DoBXjHpQcRh5Usow)
2. Activate the GPTutor by clicking π€ at the left side panel. You might find GPTutor in the "Additional Views" button.
![image](https://private-user-images.githubusercontent.com/43432631/245436346-e3e99bd4-502b-4bda-8439-788d957c2ec1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxNDQxNzEsIm5iZiI6MTczOTE0Mzg3MSwicGF0aCI6Ii80MzQzMjYzMS8yNDU0MzYzNDYtZTNlOTliZDQtNTAyYi00YmRhLTg0MzktNzg4ZDk1N2MyZWMxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIzMzExMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWRiZGNjOGMzMjY0OWEzNzI3NWYxNzA0ZjQ3NGI3Yjk4MjUwNjBjMWEyN2Y0YWFlOGEwMmNjYTZiZmZlODBhNTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.cJdaCn7u5oCIcz234KKm5XAOkNuHoZywoFE4TEFDDHY)
3. Set OpenAI API key by pasting the key in the input box. You may follow the instruction to get an API key from OpenAI's Webiste
![ζͺε 2023-06-11 δΈε4 03 46](https://private-user-images.githubusercontent.com/43432631/245433745-afc028b6-a783-4f60-b598-12e97a2900c2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxNDQxNzEsIm5iZiI6MTczOTE0Mzg3MSwicGF0aCI6Ii80MzQzMjYzMS8yNDU0MzM3NDUtYWZjMDI4YjYtYTc4My00ZjYwLWI1OTgtMTJlOTdhMjkwMGMyLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIzMzExMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWZhNDdkMTU1MDQ5ZTdlMDAxYTljMGEyODAwYWQ2Y2Y1ODU4M2MwYmIxMTU3MjZmNzhhNTMyZGQ2YWEwODMwOTYmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.7aOhNjZ1zGHFcPd4GeAR77EEumOBdVECHibbxUYIQhs)
> GPTutor: setModel
![ζͺε 2023-06-11 δΈε4 11 02](https://private-user-images.githubusercontent.com/84802160/244923698-08586281-04fb-489c-bbf7-eba6085abdd7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxNDQxNzEsIm5iZiI6MTczOTE0Mzg3MSwicGF0aCI6Ii84NDgwMjE2MC8yNDQ5MjM2OTgtMDg1ODYyODEtMDRmYi00ODljLWJiZjctZWJhNjA4NWFiZGQ3LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIzMzExMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBkOTIwMWUyZTgxYjk2MGZjZTlmYmFkOWY3NWEwMzQ4YjhlMDRhOTM2MjBkNzlhOTZiMWE1N2JjZTg5MTBiMDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.XQ-mT6fc_uCKvM7VnmtNAJHzVZHlmqnC9_93sTDMLCA)
![ζͺε 2023-06-11 δΈε4 13 03](https://private-user-images.githubusercontent.com/84802160/244923789-9990a600-e573-4590-809d-c9f060d7caf3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxNDQxNzEsIm5iZiI6MTczOTE0Mzg3MSwicGF0aCI6Ii84NDgwMjE2MC8yNDQ5MjM3ODktOTk5MGE2MDAtZTU3My00NTkwLTgwOWQtYzlmMDYwZDdjYWYzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIzMzExMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWY2MDM4YmY5YzdhOTZkZmU2ODA2Y2NiYjk4Mjg2Mjg0MmM5ODEwZTkzMGZhOGM0ZmU2YzhmN2M3YjYwNTUzMGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.8_LE8dm_fo0f2F8oxdXLzA4U-tz4EAqzpM0UYvsJVZY)
7. Click on the "Settings" button located at the top left corner to access additional configuration options. From there, you can customize settings such as Prompt, Model, or Output Language.
![image](https://private-user-images.githubusercontent.com/43432631/245768250-dfb8559a-cad8-463f-96eb-e12c435c0ece.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkxNDQxNzEsIm5iZiI6MTczOTE0Mzg3MSwicGF0aCI6Ii80MzQzMjYzMS8yNDU3NjgyNTAtZGZiODU1OWEtY2FkOC00NjNmLTk2ZWItZTEyYzQzNWMwZWNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDklMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA5VDIzMzExMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE4NTk1OTg5OGU0ZjVhOTY3MTEyYjQxY2NhODQ2NzJiZDY5NzY3OThmZDVjNmY2MTk1YmRmMjFiYWY3NjFkNzcmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.qqNLxA44-sHimrj0lX6EmXGTobf6PQGy12ZcVmJm-Vw)
GPTutor provides three main features: Explain
, Comment
, and Review
whhen you hover on the code you selected. Moreover, you can interact with GPTutor directly on the input box.
- Hover over a code block in a supported language.
- Click on the
Explain
option to get a thoughtful explanation of the selected code.
- Hover over a code block in a supported language.
- Click on the
Comment
option to get a commented and refactored version of the selected code.
- Hover over a code block in a supported language.
- Click on the
Review
option to get an Review of the selected code.
- Input the instruction
- Selected the mode, such as
Code Generate
andRewrite
- Execute by
Ask GPTutor
.
Follow the instructions in this document to customize the prompt. The default prompts is in set the package.json, you are welcome to send pull requests for your awesome prompts.
- Visual Studio Code
- OpenAI API key
This project is licensed under the MIT License. See the License.txt file for more information.
Paper 1 introduce GPTutor: https://arxiv.org/abs/2305.01863
@article{chen2023gptutor,
title={GPTutor: a ChatGPT-powered programming tool for code explanation},
author={Chen, Eason and Huang, Ray and Chen, Han-Shin and Tseng, Yuen-Hsien and Li, Liang-Yi},
journal={arXiv preprint arXiv:2305.01863},
year={2023}
}
Paper 2 that focus on customizable prompts: https://arxiv.org/abs/2310.13896
@article{chen2023gptutor,
title={GPTutor: an open-source AI pair programming tool alternative to Copilot},
author={Chen, Eason and Huang, Ray and Liang, Justa and Chen, Damien and Hung, Pierce},
journal={arXiv preprint arXiv:2310.13896},
year={2023}
}