소스 코드 편집기

Source-code editor
메모장++를 사용하여 XML 코드를 편집한 스크린샷

소스 코드 편집기컴퓨터 프로그램소스 코드를 편집하기 위해 특별히 고안된 텍스트 편집기 프로그램입니다.독립 실행형 애플리케이션일 수도 있고 통합 개발 환경(IDE)에 구축될 수도 있습니다.[1]

특성.

소스 코드 편집기에는 구문 강조, 들여쓰기, 자동 완성브레이스 매칭 기능과 같이 소스 코드의 입력을 단순화하고 속도를 높이도록 특별히 설계된 특성이 있습니다.또한 이러한 편집기는 컴파일러, 인터프리터, 디버거 또는 소프트웨어 개발 프로세스와 관련된 다른 프로그램을 실행할 수 있는 편리한 방법을 제공합니다.따라서 메모장과 같은 많은 텍스트 편집기를 사용하여 소스 코드를 편집할 수 있지만 코드 편집을 향상, 자동화 또는 용이하게 하지 않으면 소스 코드 편집기가 아닙니다.

구조 편집기는 원시 텍스트를 편집하는 대신 일반적으로 추상 구문 트리인 코드의 구조를 조작하는 다른 형태의 소스 코드 편집기입니다.이 경우 구문 강조, 유효성 검사 및 코드 형식 지정과 같은 기능은 구체적인 구문 트리 또는 추상 구문 트리에서 쉽고 효율적으로 구현되지만 편집은 자유 형식 텍스트보다 더 엄격한 경우가 많습니다.구조 편집기는 또한 각 언어에 대한 광범위한 지원을 필요로 하기 때문에 텍스트 편집기보다 새로운 언어로 확장하기가 어렵습니다. 기본 지원은 구문 강조 또는 들여쓰기만 지원하면 됩니다.이러한 이유로 엄격한 구조 편집기는 소스 코드 편집에 인기가 없지만 일부 IDE는 유사한 기능을 제공합니다.

소스 코드 편집기는 코드가 입력되는 동안 구문을 확인하고 구문 문제를 즉시 경고할 수 있습니다.일부 소스 코드 편집기는 소스 코드를 압축하며, 일반적으로 공통 키워드를 단일 바이트 토큰으로 변환하고, 불필요한 공백을 제거하며, 숫자를 이진 형태로 변환합니다.이러한 토큰화 편집기는 나중에 소스 코드를 볼 때 압축을 해제하여 일관된 대문자와 간격으로 인쇄할 수 있습니다.몇몇 소스 코드 편집자들은 두 가지를 다 합니다.[citation needed]

Microsoft의 Visual Studio Code에서 처음 사용된 Language Server Protocol은 소스 코드 편집자가 LSP 서버를 사용하여 모든 언어에 대한 구문 정보를 읽을 수 있는 LSP 클라이언트를 구현할 수 있도록 합니다.이를 통해 소스 코드 편집자는 구문 강조, 리팩토링 및 참조 찾기를 통해 더 많은 언어를 쉽게 지원할 수 있습니다.[2]Neovim과[3] Brackets와[4] 같은 많은 소스 코드 편집기는 내장된 LSP 클라이언트를 추가했지만 Emacs,[5] vim,[6] Subravity Text와[7] 같은 다른 편집기는 별도의 플러그인을 통해 LSP 클라이언트를 지원합니다.

역사

1985년 IBMMike Cowlishaw는 옥스포드 대학 출판부옮겨지는 동안 LEXX를 만들었습니다.LEXX는 라이브 파싱을 사용했고 구문 강조를 위해 색상과 글꼴을 사용했습니다.IBM의 LPEX(Live Parsing Extensible Editor)는 [8]LEXX를 기반으로 VM/CMS, OS/2, OS/400, 윈도우즈Java에서[9] 실행되었습니다.

vim의 최초 공개 릴리스는 1991년이었지만 구문 강조 기능은 1998년 버전 5.0까지 도입되지 않았습니다.[10][better source needed]

2003년 돈 호는 윈도우용 소스 코드 편집기인 메모장++를 출시했습니다.자바 기반 소스 코드 편집기인 JEXT의[11] 대안을 만드는 것이 목적이었습니다.

2015년 마이크로소프트비주얼 스튜디오 IDE를 대체하는 경량 크로스 플랫폼으로 비주얼 스튜디오 코드를 출시했습니다.[12]2016년, 비주얼 스튜디오 코드는 언어 서버 프로토콜을 사용하여 마이크로소프트 제품이 되었습니다.[2]

IDE와의 비교

소스 코드 편집기는 통합 개발 환경의 한 구성 요소입니다.독립 실행형 소스 코드 편집기와 달리 IDE는 일반적으로 디버거와 빌드 도구를 포함합니다.[13]

일부 개발자는 IDE가 필요 없는 기능으로 비대하다고 판단할 때 IDE보다 독립 실행형 소스 코드 편집기를 선호합니다.[14]

주목할 만한 예

논쟁

많은 소스 코드 편집자들과 IDE들이 진행 중인 사용자 논쟁에 참여해 왔으며, 프로그래밍 커뮤니티에서는 때때로 "성전"이라고도 합니다.[16][better source needed]주목할 만한 예로는 다음과 같은 것들이 있습니다. Emacs and Eclipse vs.네트빈즈.이러한 논쟁들은 인터넷 문화의 중요한 부분을 형성하고 있으며, 그들은 종종 편집자가 어디에서나 언급될 때마다 시작됩니다.

참고 항목

참고문헌

  1. ^ "Source-Code Editors and Integrated Development Environments (IDE)". Nanyang Technological University. Retrieved 9 June 2023.
  2. ^ a b Krill, Paul (27 June 2016). "Microsoft-backed Language Server Protocol strives for language, tools interoperability". InfoWorld. Retrieved 19 June 2022.
  3. ^ "LSP documentation - Neovim". neovim.io. Retrieved 19 June 2022.
  4. ^ Shubham, Yadav. "Language Server Protocol Support in Brackets · adobe/brackets Wiki". GitHub. Retrieved 19 June 2022.
  5. ^ "LSP Mode - Language Server Protocol support for Emacs - LSP Mode - LSP support for Emacs". emacs-lsp.github.io. Retrieved 19 June 2022.
  6. ^ Devlieghere, Jonas (22 April 2018). "Using LSP & clangd in Vim". Jonas Devlieghere. Retrieved 19 June 2022.
  7. ^ "Home - Sublime Text Language Server Protocol Documentation". lsp.readthedocs.io. Retrieved 19 June 2022.
  8. ^ "LPEX Editor's User Guide - Version 4" (PDF). IBM. Retrieved 19 June 2022.
  9. ^ Mike Cowlishaw FREng BSc CEng FIET FBCS CITP, IBM, archived from the original on 2006-10-18, retrieved June 20, 2022
  10. ^ "The History of Vim". Jovica Ilic. 5 June 2014.
  11. ^ Orin, Andy (18 June 2015). "Behind The App: The Story Of Notepad++". Lifehacker Australia. Retrieved 17 June 2022.
  12. ^ Somasegar, S (4 July 2015). "Introducing Visual Studio Code, Visual Studio 2015 RC, Application Insights Public Preview and .NET Core Preview for Linux and Mac - Somasegar's blog - Site Home - MSDN Blogs". blogs.msdn.com/. Microsoft. Archived from the original on 4 July 2015. Retrieved 17 June 2022.
  13. ^ Ayush (21 May 2018). "10 Best IDEs For Programmers And Developers". Technotification. Retrieved 18 June 2022.
  14. ^ Petreley, Nicholas (11 Feb 2003). "Java text editing software for Linux". Computer World. Retrieved 17 June 2022.
  15. ^ a b c d e f "Global Text Editor Market By Product Type (Cloud Based, Web Based) And By End-Users/Application (Large Enterprises, SMEs) Global Market Share, Forecast Data, In-Depth Analysis, And Detailed Overview, and Forecast, 2013 - 2026". The major players operating into Text Editor Market include: Visual Studio Code, Notepad++, Sublime, Brackets, UltraEdit, Atom
  16. ^ "Holy War (Hacker Jargon)". Archived from the original on 2012-04-02. Retrieved 2016-11-30.