Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>Exam Shuffler HelperNew to Visual Studio Code? Get it now.
Exam Shuffler Helper

Exam Shuffler Helper

KFUPM - Mohammed Alshahrani

|
2 installs
| (0) | Free
LaTeX exam template helper with special markup support for exam shuffling and randomization
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Exam Shuffler Helper

A VS Code extension that provides comprehensive support for LaTeX exam templates with special markup tags for exam shuffling and randomization.

Features

🎨 Syntax Highlighting

Beautiful syntax highlighting for all exam markup tags:

  • Settings block (%{#setting}...%{/setting})
  • Question blocks (%{#q}...%{/q})
  • Option blocks (%{#o}...%{/o})
  • Instructions block (%{#instructions}...%{/instructions})
  • Preamble block (%{#preamble}...%{/preamble})
  • Special tags (%{#fixed}, %{#fixed-options:X}, %{#separate-page})

⚡ Code Snippets

Powerful snippets to speed up exam creation:

Prefix Description
examfull Complete exam template with all structure
examsetting Exam settings block
examinstructions Instructions block
exampreamble Preamble block for custom packages
exammc Multiple choice question (4 options)
exammc5 Multiple choice question (5 options)
examfixed Fixed position question
examfixedopt Question with fixed option order
examseparate Question on separate page
examimg Question with image layout
examq Question block
examo Option block

✅ Real-time Validation

  • Validates matching opening/closing tags
  • Checks that all %{#q} tags are properly closed with %{/q}
  • Checks that all %{#o} tags are properly closed with %{/o}
  • Checks that all %{#setting} tags are properly closed with %{/setting}
  • Validates %{#fixed-options:X} to ensure the answer letter corresponds to an actual option
  • Shows helpful error messages with precise locations

🔍 Auto-completion

Smart auto-completion for setting parameters inside %{#setting} blocks:

  • university, department, term, coursecode
  • examname, examdate, timeallowed
  • numberofvestions, groups, examtype
  • code_name, code_numbering, includeCoverPage
  • paper_size, seed

Installation

From VS Code Marketplace

  1. Open VS Code
  2. Go to Extensions (Ctrl+Shift+X)
  3. Search for "Exam Shuffler Helper"
  4. Click Install

From VSIX File

  1. Download the .vsix file from Releases
  2. In VS Code: Extensions → ... → Install from VSIX
  3. Select the downloaded .vsix file

Usage

Quick Start

  1. Create a new .tex file
  2. Type examfull and press Tab
  3. Fill in your exam details
  4. Add questions using snippets like exammc5

Example: Creating a Question

Type exammc5 and press Tab to get:

% ============================================================ 
% question 1
%=============================================================
 
\item 
%{#q}
Question text
%{/q}

  \begin{enumerate}

    \item
    %{#o}
    Correct answer
    %{/o}

    \item
    %{#o}
    Wrong answer
    %{/o}

    \item
    %{#o}
    Wrong answer
    %{/o}

    \item
    %{#o}
    Wrong answer
    %{/o}

    \item
    %{#o}
    Wrong answer
    %{/o}

  \end{enumerate}
\questionseparator

Tag Reference

Settings Block

%{#setting}
%   university=Your University Name
%   department=Department Name
%   coursecode=MATH 101
%   examname=Midterm Exam
%   numberofvestions=10
%{/setting}

Question Block

%{#q}
What is the derivative of f(x) = x^2?
%{/q}

Option Block

%{#o}
f'(x) = 2x
%{/o}

Fixed Position Question

\item
%{#fixed}
%{#q}
Write your student ID
%{/q}

Fixed Options (Answer = C)

\item
%{#fixed-options:C}
%{#q}
Which is correct?
%{/q}

Separate Page Question

\item
%{#separate-page}
%{#q}
Complex problem requiring lots of space
%{/q}

Configuration

Access settings via: File → Preferences → Settings → Search "Exam Shuffler"

  • Validate Tags: Enable/disable tag matching validation (default: true)
  • Validate Fixed Options: Enable/disable fixed-options letter validation (default: true)

Requirements

  • VS Code 1.80.0 or higher
  • LaTeX workshop or similar LaTeX extension (recommended for full LaTeX support)

Known Issues

  • Validation is file-scoped (doesn't check across multiple files)
  • Large files (>10,000 lines) may experience slight performance delays

Release Notes

0.1.0 - Initial Release

  • Syntax highlighting for all exam markup tags
  • 11 code snippets for rapid exam creation
  • Real-time tag validation
  • Fixed-options letter validation
  • Auto-completion for settings parameters

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have suggestions, please open an issue on GitHub.

Author

Mohammed - Mathematics Professor at KFUPM

Acknowledgments

  • Built for educators creating randomized exams
  • Perfect for maintaining academic integrity
  • Designed for mathematics and STEM courses

Enjoy creating better exams! 🎓

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft