Skip to content
| Marketplace
Sign in
Visual Studio Code>Education>KOI RunnerNew to Visual Studio Code? Get it now.
KOI Runner

KOI Runner

code0-god

|
5 installs
| (0) | Free
KOIStudy 문제 탐색, 언어별 기본 코드, 로컬 테스트와 사이트 직접 제출
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

KOI Runner

KOIStudy 문제를 VS Code에서 선택하고, 풀고, 테스트하고, 제출하는 비공식 확장입니다. 왼쪽에서 문제를 고르면 풀이 파일과 오른쪽 문제 화면이 함께 열립니다.

설치와 시작

VS Code 확장에서 KOI Runner를 검색하고 게시자가 code0-god인지 확인해 설치합니다. Marketplace 공개 전이거나 VSIX 파일을 받은 경우에는 확장 메뉴의 VSIX에서 설치를 사용하세요. 기존 버전을 업데이트했다면 Developer: Reload Window를 실행합니다.

이전 수동 설치판 koistudy-local.koistudy-vscode를 사용했다면 명령이 중복되지 않도록 기존 확장을 먼저 사용 안 함으로 설정하세요. 공개판 code0-god.koistudy-vscode에서는 다시 로그인해야 합니다. 로그인 세션은 자동 이전하지 않으며, 작업 폴더의 기존 풀이 파일은 그대로 사용할 수 있습니다.

  1. 풀이를 저장할 로컬 폴더를 엽니다. 코드 생성·실행·제출에는 작업 영역 신뢰가 필요합니다.
  2. 왼쪽 KOI Runner 아이콘을 눌러 문제 목록을 엽니다. 제목 검색이나 문제 번호·URL로 열기도 사용할 수 있습니다.
  3. 문제와 언어를 선택합니다. 기본 코드가 작성된 풀이 파일은 왼쪽, 문제 설명은 오른쪽에 열립니다.
  4. 풀이를 작성하고 로컬 테스트로 예제를 실행합니다.
  5. 로그인 후 사이트 제출을 누르면 KOIStudy에서 채점하고 결과를 계정에 저장합니다.

문제 화면

기능 동작
언어 선택 선택한 언어의 풀이 파일 생성 또는 열기
로컬 테스트 연결된 풀이를 저장하고 예제 실행
사이트 제출 연결된 풀이를 KOIStudy에 제출하고 채점 결과 확인
풀이 파일 보기 해당 문제의 소스를 편집기에서 열기
테스트 편집 samples.json에 예제 추가·수정
취소 진행 중인 로컬 실행 또는 사이트 채점 요청 취소

결과는 오른쪽 화면과 출력 → KOI Runner에 표시됩니다. 각 문제 화면은 자신에게 연결된 풀이를 사용합니다. 다른 파일을 편집 중이어도 해당 문제의 소스를 테스트·제출합니다. 문제와 언어는 실행·제출이 끝난 뒤 변경할 수 있습니다.

기존 풀이와 수정한 테스트는 덮어쓰지 않습니다. 마지막 언어는 문제별로 기억하며, 다른 언어를 선택해 풀이를 추가할 수 있습니다.

언어와 실행 환경

현재 사이트의 47개 언어·컴파일러 옵션에 대응하며, 문제에서 선택할 수 있는 목록은 사이트에서 가져옵니다. 이 중 44개 코드 옵션에 언어별 기본 코드와 간단한 TODO를 제공합니다. TODO에는 풀이 예시 코드를 넣지 않습니다.

  • C++: 기본 선택은 사이트 ID 54, 로컬 실행은 C++17입니다.
  • Rust: 사이트 ID 73, Rust 2018 edition입니다. 기본 코드는 read_line()으로 한 줄을 input: String에 읽습니다. 공백과 마지막 줄바꿈을 보존하며, 여러 줄 읽기·정수 변환·토큰 분리는 풀이에 맞게 작성합니다.
  • Plain Text / Executable / Multi-file: 각각 빈 텍스트, 빈 파일, 프로젝트 안내 파일을 만듭니다. Executable·Multi-file의 직접 제출 형식은 지원하지 않으므로 사이트에서 제출해야 합니다.
  • NASM: 기본 코드는 Linux x86-64 기준입니다. 대상 환경에 맞는 조립·링크 명령을 직접 설정해야 합니다.

로컬 테스트에는 해당 컴파일러·런타임을 별도로 설치하고 VS Code가 찾을 수 있도록 설정해야 합니다. 도구를 자동 설치하지 않으며, 모든 언어가 설치 직후 실행되는 것은 아닙니다. 사이트에 표시된 버전은 온라인 채점기 버전이므로 최신 문법이 로컬에서 성공해도 사이트에서는 실패할 수 있습니다.

VS Code 1.96 이상이 필요합니다. macOS에서 동작을 검증했으며, Windows·Linux의 실제 실행은 아직 검증하지 않았습니다. 웹 버전 VS Code와 가상 작업 영역은 지원하지 않습니다.

파일과 테스트

파일은 열어 둔 폴더/koistudy/문제번호/에 저장됩니다.

파일 내용
main.cpp, main.rs 등 언어별 풀이. 기존 코드 보존
problem.md 문제 설명. 문제를 다시 열면 갱신
samples.json input·output 문자열로 구성된 테스트 배열. 사용자 수정 보존
.koistudy.json 문제·언어·풀이 파일 연결 정보와 마지막 언어

로컬 비교는 줄 끝 공백, CRLF/LF 차이와 마지막 개행 하나를 무시합니다. 앞쪽 공백과 중간 빈 줄은 보존합니다. 함수만 제출하는 문제에는 별도의 실행용 드라이버가 필요할 수 있습니다. 로컬 예제 통과가 사이트의 숨겨진 테스트나 특수 채점 통과를 보장하지는 않습니다.

계정과 제출

로그인 시 입력한 아이디와 비밀번호는 HTTPS로 KOIStudy에 전달합니다. 비밀번호는 저장하지 않으며, 로그인 세션 쿠키만 VS Code의 SecretStorage에 보관합니다. 로그아웃하면 확장에 저장된 세션을 삭제하며, 브라우저의 로그인 상태는 바꾸지 않습니다.

사이트 제출을 실행할 때 해당 풀이 소스와 문제·언어 정보를 KOIStudy에 전송합니다. 사이트의 결과 저장 응답을 확인한 뒤 제출 완료로 표시합니다. 최종 저장 중 연결이 끊기면 저장 여부가 불확실할 수 있으므로 사이트의 기록을 먼저 확인하세요. 자동으로 다시 제출하지 않으며, 취소해도 이미 사이트에 도착한 요청이 철회되지는 않습니다.

직접 제출이 어려우면 명령 팔레트의 KOI Runner: 코드 복사 후 브라우저에서 제출을 사용할 수 있습니다. 이 명령은 풀이를 클립보드에 복사하고 사이트의 제출 화면을 엽니다.

확장 자체의 별도 서버나 사용량 분석·원격 로그 수집 기능은 없습니다. 로컬 테스트는 설치된 도구를 현재 사용자 권한으로 실행하며 보안 샌드박스가 아닙니다. 데이터 처리 세부 사항은 패키지의 PRIVACY.md에 설명되어 있습니다.

설정

설정 기본값 의미
koistudy.defaultLanguageId 54 언어 선택창의 우선 언어. Rust는 73
koistudy.timeoutMs 3000 로컬 예제당 제한 시간(ms). 컴파일에는 최소 30초 허용
koistudy.runners {} 언어 ID별 로컬 컴파일·실행 명령

Rust를 기본 언어로 지정하고 실행 명령을 조정하는 예입니다.

{
  "koistudy.defaultLanguageId": 73,
  "koistudy.runners": {
    "73": {
      "compile": ["rustc", "--edition=2018", "-O", "{source}", "-o", "{binary}"],
      "run": ["{binary}"]
    }
  }
}

명령은 셸 문자열이 아닌 인수 배열입니다. {source}는 임시 폴더에 복사한 단일 풀이 파일, {dir}은 빌드 폴더, {binary}는 실행 파일 경로입니다. compile: []는 컴파일을 생략합니다. 여러 파일 프로젝트는 사용자 명령에 프로젝트 경로를 지정해야 합니다. 예제당 표준 출력·오류 출력 합계는 1 MiB로 제한합니다.

개발

런타임 외부 패키지에 의존하지 않는 CommonJS JavaScript 확장입니다. 개발 검사에는 Node.js 22 이상을 사용합니다. 패키징하려면 공식 @vscode/vsce CLI를 별도로 설치하고 vsce를 PATH에서 실행할 수 있게 설정하세요. 이 도구는 확장의 런타임 의존성이 아닙니다.

npm run check
npm test
npm run package

실제 확장 호스트 테스트는 test/extension-host.js를 VS Code의 --extensionTestsPath로 지정합니다. 별도의 테스트 프로필과 빈 작업 폴더, C++·Rust 도구와 네트워크가 필요합니다. 이 테스트는 테스트 폴더에 파일을 만들고 기본 언어 설정을 변경하지만, 실제 계정에 제출하지 않습니다.

연동과 라이선스

KOIStudy의 공개 문제 정보와 현재 사이트의 로그인·채점·결과 저장 흐름을 사용합니다. 사이트 구조나 인증 방식이 바뀌면 연동 수정이 필요할 수 있습니다. KOI Runner는 공식 KOIStudy 제품이 아닙니다. 문제 저작권은 각 원저작자에게 있으며, 확장 소스는 MIT 라이선스로 배포합니다.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft