VS Code의 Code Runner 실행 시 &&를 인식하지 못할 때 임시 해결책

정확한 이유는 모르겠는데, Visual Studio Code의 Code Runner extension이 갑자기 정상 동작 하지 않고 다음 메시지가 뜨는 것을 확인했다.

'&&' 토큰은 이 버전에서 올바른 문 구분 기호가 아닙니다.

아마 PowerShell이 &&를 지원하지 않아 발생하는 문제인 듯 한데, 기존에는 같은 세팅으로 잘 동작하다가 갑자기 왜 안 되는지는 확실하지는 않다.

 

이를 해결하기 위해 Code Runner의 settings.json을 수정하였다.

 

수정 전:

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ $fileName -std=c++14 -o $fileNameWithoutExt && ./$fileNameWithoutExt"
}

수정 후:

"code-runner.executorMap": {
    "cpp": "cd $dir ; g++ $fileName -std=c++14 -o $fileNameWithoutExt ; ./$fileNameWithoutExt"
}

 

그런데 위의 세팅은 약간의 문제가 있다. 컴파일에 실패 하더라도 마지막에 수행 파일을 실행하기 때문이다. 이는 &&와 달리 세미콜론(;)을 사용하면 무조건 다음 명령을 수행하기 때문에 발생하는 문제이다.

 

이를 해결하기 위해 세팅을 아래와 같이 약간 더 수정하였다.

 

최종 버전:

"code-runner.executorMap": {
    "cpp": "cd $dir ; g++ $fileName -std=c++14 -o $fileNameWithoutExt ; if ($?) { ./$fileNameWithoutExt }"
}
  Comments,     Trackbacks