Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>CodeTestExtensionNew to Visual Studio Code? Get it now.
CodeTestExtension

CodeTestExtension

soukup

|
5 installs
| (0) | Free
Oficiální rozšíření pro platformu CodeTest – výuková platforma pro programování s okamžitou zpětnou vazbou. Správa úloh, psaní kódu v C, C++, Pythonu a C#, testování v Sandboxu a přímé odevzdávání řešení z VS Code.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

CodeTest pro Visual Studio Code

Version VS Code Platform CodeTest

Oficiální rozšíření pro platformu CodeTest – výuková platforma pro programování s okamžitou zpětnou vazbou.
Řešte semestrální práce a školní úlohy v jazycích C, C++, Python a C#, testujte kód v serverovém Sandboxu v izolovaných Docker kontejnerech, získávejte herní Bity a odevzdávejte řešení přímo z Visual Studio Code bez nutnosti neustále přepínat do prohlížeče. Úlohy v Barevný blocích (Blockly) můžete přímo otevřít v příslušném webovém editoru.

Hlavní funkce • Herní systém a Bity • Filtrování a organizace • Rychlý start • Testování v Sandboxu • Příkazy • Nastavení


✨ Hlavní funkce

📋 Postranní panel CodeTest v Activity Baru

  • Přehled zadaných úloh: Automaticky synchronizovaný seznam přiřazených úloh rozčleněný podle předmětů nebo jako plochý seznam.
  • Důležité informace na očích: Termíny odevzdání, odpočet zbývajícího času u časově omezených úloh a počet povolených odevzdání.
  • Rychlý stav řešení: Zelený, oranžový nebo červený indikátor úspěšnosti vašeho posledního odevzdaného pokusu.

🔍 Filtrování a organizace úloh

  • Chytré filtry: Možnost filtrovat úlohy podle stavu (všechny, aktivní k řešení, splněné, po termínu, zamčené) nebo fulltextově vyhledávat podle názvu.
  • Přepínání seskupení: Snadné přepínání mezi seskupením podle předmětů a plochým seznamem seřazeným dle termínu odevzdání ($(list-tree)).
  • Zrušení filtru jedním klikem: Indikace aktivního filtru a tlačítko pro jeho okamžité vyčištění ($(clear-all)).

🎮 Herní systém a Bity

  • Odměny za odevzdání: Získávání herních Bitů za úspěšné vyřešení úloh a bonus za vyřešení na první pokus.
  • Herní peněženka: Zobrazení aktuálního zůstatku a historie transakcí přímo ve VS Code ($(zap)).
  • Herní výhody (Perky): Možnost pořídit si za nasbírané Bity užitečné výhody přímo v detailu zadání:
    • Odemčení postupných nápověd k úloze (Hints).
    • Prodloužení termínu odevzdání (+24 hodin).
    • Navýšení limitu pokusů (+3 odevzdání).
    • Prodloužení časového limitu úlohy (+15 minut).
    • Odhalení detailů skrytého testu v případě neúspěchu.
  • Respektování nastavení úlohy: Pokud vyučující u úlohy gamifikaci nepovolil, herní prvky a odznaky se automaticky skryjí.

📖 Detail zadání a historie řešení přímo v editoru

  • Formátované zadání úlohy, specifikace a limity se otevírají přímo v přehledném panelu editoru.
  • Seznam všech vašich předchozích odevzdání včetně stavu a data nahrání.
  • Možnost rozkliknout detail výsledků kteréhokoliv odevzdaného řešení a zobrazit fáze testování.
  • Tlačítko pro rychlé otevření konkrétní úlohy na webovém portálu.

⚡ Vytvoření šablony pro řešení jedním kliknutím

  • Tlačítko Vytvořit soubor pro řešení vygeneruje soubor šablony v cílovém jazyce úlohy (.c, .cpp, .py nebo .cs) s předvyplněnou hlavičkou, autorstvím a základní kostrou programu.
  • Bezpečná kontrola – pokud soubor již existuje, rozšíření vás upozorní a nabídne otevření existujícího souboru namísto jeho nechtěného přepsání.

🧪 Rychlé testování v multijazyčném Sandboxu (s podporou STDIN)

  • Tlačítko $(play) v pravém horním rohu editoru odešle aktivní kód do izolovaného serverového kontejneru CodeTestu.
  • Multijazyčná podpora: Automaticky detekuje programovací jazyk podle přípony souboru:
    • C: GCC 12 s přepínači -g -pedantic -Wall -Wextra -Werror a AddressSanitizerem (-fsanitize=address).
    • C++: G++ 12 s podporou standardu C++20.
    • Python: Python 3.11 s kontrolou syntaxe a izolovaným tokom stdout/stderr.
    • C#: .NET 8 SDK a CLI běh v kontejneru.
  • Interaktivní zadání standardního vstupu (STDIN):
    • Před spuštěním se zobrazí dialog pro zadání testovacích dat (pro spuštění bez vstupu stačí stisknout Enter).
    • Podpora více řádků (pomocí \n nebo přímého vložení víceřádkového textu).
    • Automatické načtení z input.txt: Pokud máte vedle zdrojového kódu připravený soubor input.txt nebo in.txt, v záhlaví dialogu se zobrazí tlačítko $(file-text) pro jeho okamžité načtení.
    • Možnost načíst libovolný soubor z disku ($(folder-opened)) nebo vložit označený text z editoru ($(selection)).
    • Možnost otevřít dočasný textový editor ($(edit)) vedle kódu pro pohodlné úpravy rozsáhlých matic či víceřádkových testovacích vstupů.
    • Paměť posledního vstupu pro rychlé opakované spouštění při ladění.
  • Detailní výstup v reálném čase: Panel Výstup (CodeTest Sandbox) zobrazí výsledek kompilace, předaný vstup a skutečný výstup na stdout/stderr spolu s návratovým kódem programu.

🚀 Přímé odevzdání řešení

  • Tlačítko $(cloud-upload) odevzdá aktivní soubor na server k oficiálnímu automatickému vyhodnocení.
  • Průběžný indikátor stavu a zobrazení výsledků jednotlivých testovacích fází (kompilace, referenční testy, I/O testy, unit asserty).
  • V případě neúspěchu panel zobrazí přesný rozdíl výstupu (diff mezi očekávaným a skutečným výstupem programu), chybový výstup a návratový kód.

🔒 Bezpečné ukládání přihlašovacích údajů

  • Možnost přihlášení uživatelským jménem a heslem (automaticky vygeneruje a pojmenuje Personal Access Token) nebo přímo stávajícím tokenem (ct_...).
  • Tokeny jsou bezpečně uloženy v systémové klíčence operačního systému (macOS Keychain, Windows Credential Manager, Linux Secret Service) přes oficiální rozhraní vscode.SecretStorage.

🌐 Přepínání prostředí (Produkce / Localhost)

  • Výchozím cílem je produkční server codetest.cz. Vývojáři a správci mohou jedním kliknutím přepnout na lokální instanci (localhost:8080).

🚀 Rychlý start

  1. Instalace:
    • Vyhledejte CodeTest v záložce Rozšíření (Ctrl+Shift+X / Cmd+Shift+X) a klikněte na Install.
  2. Přihlášení k účtu:
    • Otevřete panel CodeTest v levé postranní liště (Activity Bar).
    • V sekci Účet a stav klikněte na Přihlásit se.
    • Zadejte své přihlašovací jméno/e-mail a heslo k portálu CodeTest (nebo zadejte API token).
  3. Výběr úlohy a vytvoření souboru:
    • V sekci Zadané úlohy k řešení uvidíte strom úloh (lze přepnout na plochý seznam nebo filtrovat).
    • Kliknutím na úlohu nebo ikonu informací $(info) otevřete zadání úlohy.
    • Kliknutím na ikonu $(file-code) vytvořte soubor šablony v příslušném jazyce úlohy (C, C++, Python nebo C#).
  4. Testování v Sandboxu:
    • Napište své řešení v editoru.
    • V pravém horním rohu editoru klikněte na tlačítko $(play) Otestovat v Sandboxu.
    • Zadejte testovací STDIN nebo stiskněte Enter pro běh bez vstupu.
    • V panelu Výstup (CodeTest Sandbox) zkontrolujte průběh kompilace a výstup programu.
  5. Odevzdání řešení:
    • Jakmile kód funguje, klikněte na tlačítko $(cloud-upload) Odevzdat řešení.
    • Potvrďte odeslání a sledujte průběh automatických testů a případný zisk herních Bitů.

⌨️ Přehled příkazů (Command Palette)

Všechny příkazy lze vyvolat přes Paletu příkazů (Ctrl+Shift+P na Windows/Linux, Cmd+Shift+P na macOS) zadáním prefixu CodeTest::

Příkaz Umístění Popis
CodeTest: Otestovat v Sandboxu Editor záhlaví $(play), Menu Zkompiluje a spustí aktivní kód (C, C++, Python, C#) v Sandboxu
CodeTest: Otestovat v Sandboxu se zadáním STDIN... Kontextové menu, Status Bar Spustí test v Sandboxu s interaktivním zadáním STDIN
CodeTest: Odevzdat aktivní soubor jako řešení Editor záhlaví $(cloud-upload) Odevzdá aktuální soubor na server k vyhodnocení
CodeTest: Zobrazit zadání úlohy Strom úloh, Kontextové menu Otevře interaktivní panel se zadáním úlohy
CodeTest: Vytvořit soubor pro řešení úlohy Strom úloh, Panel zadání Vygeneruje soubor se šablonou pro danou úlohu (C, C++, Python, C#)
CodeTest: Herní peněženka & Bity Panel účtu $(zap), Status Bar Zobrazí stav herní peněženky, zůstatek a historii transakcí
CodeTest: Filtrovat úlohy... Strom úloh $(filter) Filtrování úloh podle stavu nebo klíčového slova
CodeTest: Zrušit filtr úloh Strom úloh $(clear-all) Vymaže aktivní filtr zadaných úloh
CodeTest: Přepnout seskupení úloh Strom úloh $(list-tree) Přepne mezi seskupením dle předmětů a plochým seznamem
CodeTest: Otevřít úlohu na webu Strom úloh, Kontextové menu Otevře vybranou úlohu přímo v prohlížeči
CodeTest: Zobrazit výsledky testů řešení Detail řešení Zobrazí detailní výsledky a výstupy testovacích fází
CodeTest: Přihlásit se jménem a heslem Panel účtu, Status Bar Přihlášení do portálu a uložení tokenu
CodeTest: Přihlásit se pomocí API tokenu Panel účtu, Status Bar Přihlášení stávajícím Personal Access Tokenem
CodeTest: Odhlásit se Panel účtu, Status Bar Odhlášení a bezpečné odstranění tokenu z klíčenky
CodeTest: Přepnout server (Localhost / Produkce) Panel účtu, Status Bar Přepnutí mezi produkcí a lokálním serverem
CodeTest: Obnovit data Panel účtu, Strom úloh Znovu načte zadané úlohy ze serveru
CodeTest: Otevřít portál v prohlížeči Status Bar, Menu Otevře webové rozhraní CodeTestu v prohlížeči

⚙️ Nastavení (Settings)

Rozšíření lze přizpůsobit v nastavení VS Code (Ctrl+, / Cmd+, → do vyhledávání zadejte codetest):

  • codetest.apiUrl (výchozí: https://codetest.cz/)
    Základní URL adresa serveru CodeTest API. Pro lokální vývoj lze přepnout na http://localhost:8080/.
  • codetest.webUrl (volitelné)
    Vlastní URL adresa webového rozhraní (pokud je prázdné, použije se odpovídající adresa dle apiUrl).
  • codetest.autoRefreshMinutes (výchozí: 5)
    Interval v minutách pro automatické obnovení seznamu zadaných úloh na pozadí (hodnota 0 automatické obnovení vypne).
  • codetest.sandboxPromptStdin (výchozí: true)
    Zda se má při každém spuštění v Sandboxu zobrazit dialog pro zadání standardního vstupu (STDIN). Při nastavení na false se kód spouští ihned bez dotazu.

💡 Užitečné tipy

[!TIP] Rychlé načtení testovacího vstupu z input.txt
Vytvořte si ve stejné složce jako zdrojový kód soubor input.txt. Při spuštění Sandboxu rozšíření tento soubor automaticky rozpozná a nabídne tlačítko $(file-text) pro jeho načtení jedním kliknutím.

[!TIP] Detekce chyb paměti pomocí AddressSanitizeru (ASan)
Serverový Sandbox kompiluje kód s volbou -fsanitize=address. Pokud váš program sahá mimo alokované pole, uvolňuje paměť dvakrát nebo čte z neplatného ukazatele, Sandbox okamžitě vypíše přesnou lokalizaci chyby v kódu.


📞 Podpora a zpětná vazba

  • Webový portál: https://codetest.cz
  • Autor: Chameloun
  • Zdrojový kód a hlášení chyb: GitHub Repository
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft