IDE의 종류 (VS code 에러 해결)
작년 늦가을부터 사수님의 가르침에 따라, 회사에서 대부분의 코드는 vscode로 ssh 원격접속을 해서 작업하고 있다. 이제는 손에 익어서 원격접속 정도는 금방 하는데, 간혹 코드 작성 중에 vscode에서 서버와 연결을 유지하려고 로딩중인 액션이 뜨고, 결국 터미널에 connection timeout 이라는 메시지를 띄우며 연결이 끊어지는 상황이 자주 발생했다.
작업 중인데 연결이 끊어지면 그만큼 업무 효율이 떨어지는거라, 이 방법을 해결하려고 다양한 시도들을 해봤다.
일단 connection timeout 이라는 메시지가 뜨는 원인은 서버의 CPU가 사용률 100%에 달할 정도로 과도하게 돌아가고 있기 때문이었고, 그래서 서버의 리소스를 최대한 줄일 수 있도록 vscode의 settings.json에서 각종 설정을 진행했다.
/* 자동 저장 지연 시간 조정 */
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 15000,
/* prettier 자동 포맷팅 비활성화 */
"editor.formatOnSave": false,
/* 파일 감시 범위 제한 */
"files.watcherExclude", "search.exclude"
/* 라이브서버 기능 비활성화 */
"liveServer.settings.donotShowInfoMsg": true,
/* Git 관련 경고 메시지 기능 제한 */
"git.ignoreLegacyWarning": true,
/* remote SSH 프로세스 줄이기 */
"remote.SSH.useLocalServer": false,
"remote.SSH.logLevel": "error",
"remote.SSH.remoteServerListenOnSocket": false,
/* 터미널 셸 통합 비활성화 */
"terminal.integrated.shellIntegration.enabled": false,
/* 익스텐션 로컬에서만 실행 */
"remote.extensionKind": {
"formulahendry.auto-close-tag": "ui",
// 이하 생략
}
이렇게 settings.json만 설정해놓고, 업무가 바빠서 추가적으로 설정해야 하는 부분을 잊고 있었다.😅
지금 글을 수정하면서 깨달았는데, ssh 접속에 사용되는 config 파일에도 설정을 해야한다!
Host phpcode
HostName 10.100.100.10
User hjcho
Port 22
ForwardAgent yes
ServerAliveInterval 60
ServerAliveCountMax 100
ip주소는 회사 주소여서 임의로 수정했다.
다른 부분들이야 ssh를 접속해본 사람들이라면 무슨 의미인지 이해할테니 나머지 부분을 설명하자면,
- ServerAliveInterval 60 → 서버에 60초마다 핑 보내기
- ServerAliveCountMax 100 → 서버 미응답 횟수 카운트, 누적 100회 되면 연결 중단
json만 설정한 상태로 ssh 접속해서 작업을 해봤었는데, config를 설정하지 않아서 그랬던건지 connection timeout이 뜨긴 했다. 그래서 혹시 vscode 말고 다른 IDE 툴이 있는지 서치해보고, 결과를 정리해서 회사 슬랙에 팀원들간 정보 공유하려고 올렸던 내용이 있는데, 내 블로그에도 공유해본다.
1. 서치 이유: vscode의 ssh 터널링 접속시 connection timeout 에러 해결
2. 세계에서 가장 많이 사용하는 IDE 순위 (2024년 기준)
→ vscode(약 75%), 인텔리제이(IntelliJ), PyCharm, Eclipse의 순서
3. 필수 조건: 프론트엔드+백엔드 기술스택 지원, ssh 터널링 지원, 무료 버전
→ 모든 조건을 만족하는 IDE는 사실상 vscode가 유일하다!
4. 각 IDE에 대한 설명
- 인텔리제이(IntelliJ)는 백엔드 중심 IDE라서, 프론트엔드 기술 스택은 무료 버전에서는 거의 지원을 안 함. ssh 터널링도 유료 버전에서만 지원함. 유료는 $149/년.
- PyCharm은 파이썬 사용할 때 유용한 IDE 툴.
- Eclipse도 백엔드 중심 IDE라서 프론트엔드 기술 스택은 사용하기 불편함. ssh 터널은 vscode보다 어렵고 설정이 많음. VSCode 같은 빠른 실행 환경이 아니라서 개발 속도가 느림. UI/UX가 무겁고 확장성 제한적.
https://hjinn0813.tistory.com/139
VS code에서 SSH 원격접속하기
며칠 고생했던걸 기록해둬야할 것 같아서 적어보는, 일기 같은 실험기록.✍
hjinn0813.tistory.com