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

CodeTestExtension

soukup

|
1 install
| (0) | Free
Oficiální rozšíření pro výukový portál CodeTest – správa úloh, psaní kódu, 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 výukový programovací portál CodeTest.
Řešte semestrální práce a školní úlohy v jazyce C, testujte kód v serverovém Sandboxu s GCC a AddressSanitizerem a odevzdávejte řešení přímo z Visual Studio Code bez nutnosti neustále přepínat do prohlížeče.

Hlavní funkce • 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ů.
  • 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.

📖 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í.

⚡ Vytvoření C šablony jedním kliknutím

  • Tlačítko Vytvořit soubor pro řešení vygeneruje soubor solution_<id>_<nazev>.c s předvyplněnou hlavičkou úlohy, autorstvím a základní kostrou programu v jazyce C.
  • 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 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.
  • Kompilace GCC: Přísné přepínače -g -pedantic -Wall -Wextra -Werror a zapnutý -fsanitize=address pro okamžité odhalení práce s neplatnou pamětí, memory leaků a přetečení bufferů.
  • 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 předmětů a přiřazených úloh.
    • Kliknutím na úlohu nebo ikonu informací $(info) otevřete zadání úlohy.
    • Kliknutím na ikonu $(file-code) vytvořte soubor šablony v jazyce 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ů.

⌨️ 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í C kód na serveru
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 C soubor se šablonou pro danou úlohu
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