진정한 통합 개발 환경

사람들이 대부분의 경우 IDE를 말할 때 그들은 그저 영광스러운 텍스트 편집기를 의미하며 때로는 디버거와 함께, 때로는 자동 완성 기능을 의미합니다. 내 생각에 텍스트 편집기는 개발 환경으로 적합하지 않습니다. 또한 다음이 필요합니다.
  • 컴파일러(또는 인터프리터 또는 트랜스파일러 등)
  • 자동화 도구(make 또는 이와 유사한 것)
  • 패키지 관리자 ( bundler , yarn , cargo 또는 이와 유사한 것)
  • 아마도 버전 전환기( rbenv , nvm , rustup 또는 이와 유사한 것)
  • 더 지능적인 자동 완성을 위한 language server ( solargraph , typescript , flow , gocode 또는 유사)
  • 린터 또는 유형 검사기( rubocop , eslint 또는 이와 유사한 것)
  • 포맷터 ( prettier , gofmt 또는 이와 유사한 것)
  • 아마도 쉘 ( bash , zsh 또는 이와 유사한 것) 및 git

  • 해결책



    최근에 저는 진정한 통합 개발 환경을 위한 잠재적인 솔루션인 Docker + "cloud IDE"(in-browser IDE)를 찾았습니다. Docker 컨테이너와 일부 "클라우드"IDE에 모든 도구를 패키징하고 함께 작동하도록 모든 도구를 구성할 수 있습니다. 그런 다음 하나의 명령을 사용하여 Docker 컨테이너를 실행하고 완전히 작동하는 편집기를 브라우저에서 사용할 수 있습니다.

    나는 이 아이디어를 처음 생각해낸 사람이 아니므로 몇 가지 옵션이 있습니다.

    Theia :

    docker run -it -p 3000:3000 -v "$(pwd):/home/project:cached" theiaide/theia
    


    Coder :

    docker run -it -p 127.0.0.1:8443:8443 -v "${PWD}:/home/coder/project" codercom/code-server --allow-http --no-auth
    


    Eclipse Che :

    docker run -ti -v /var/run/docker.sock:/var/run/docker.sock -v /local/path:/data eclipse/che start
    


    IDE에서 무엇을 기대하십니까? 기본적으로 제공해야 하는 것은 무엇입니까?

    Photo by NESA by Makers on Unsplash

    좋은 웹페이지 즐겨찾기