Түпнұсқалық код редакторы – компьютерлік бағдарламалардың бастапқы кодын өңдеуге арналған мәтіндік редактор бағдарламасы. Ол жеке қолданба немесе интеграцияланған даму ортасының (IDE) құрамында болуы мүмкін.
A source code editor is a text editor program designed specifically for editing source code of computer programs. It may be a standalone application or it may be built into an integrated development environment (IDE).
Ерекшеліктері
Ресурстық код редакторлары бастапқы кодты оңай және жылдам жазу үшін арнайы жасалған мүмкіндіктерге ие, мысалы, синтаксистің ерекшелендірілуі, жолдардың бағытталуы, автоматты толықтыру және жақшаларды сәйкестендіру функциялары. Бұл редакторлар сонымен қатар компиляторды, интерпретаторды, түзету құралын немесе бағдарламалық жасақтаманы әзірлеу процесіне қатысты басқа да бағдарламаларды іске қосудың ыңғайлы жолын ұсынады. Сондықтан, Notepad сияқты көптеген мәтіндік редакторларды бастапқы кодты өңдеу үшін пайдалануға болады, бірақ егер олар кодты өңдеуді жақсартпаса, автоматтандырса немесе жеңілдетпесе, оларды бастапқы код редакторы деп атауға болмайды. Құрылымдық редакторлар – бастапқы код редакторының басқа бір түрі, онда шикі мәтінді өңдеудің орнына кодтың құрылымы, әдетте абстрактілі синтаксистік ағаш басқарылады. Бұл жағдайда синтаксистің ерекшелендірілуі, тексеру және кодты форматтау сияқты мүмкіндіктер нақты синтаксистік ағаштан немесе абстрактілі синтаксистік ағаштан оңай және тиімді жүзеге асырылады, бірақ өңдеу еркін мәтінге қарағанда көбінесе қатаң болады. Құрылымдық редакторлар әрбір тіл үшін кең қолдауды талап етеді, сондықтан жаңа тілдерге кеңейту, тек синтаксистің ерекшелендірілуін немесе жолдардың бағытталуын қолдайтын мәтіндік редакторларға қарағанда қиын. Осы себепті, қатаң құрылымдық редакторлар бастапқы кодты өңдеу үшін кеңінен таралмаған, бірақ кейбір IDE ұқсас функционалдықпен қамтамасыз етеді. Ресурстық код редакторы код енгізіліп жатқанда синтаксисті тексеріп, синтаксистік қателер туралы дереу ескерте алады. Кейбір бастапқы код редакторлары бастапқы кодты қысып, әдетте жиі қолданылатын кілт сөздерді бір байттық таңбаларға айналдырады, қажетсіз бос орындарды жояды және сандарды екілік форматқа түрлендіреді. Мұндай таңбалау редакторлары кейіннен бастапқы кодты қарау кезінде оны кеңейтеді, мүмкін, тұрақты әріптер мен аралықтармен әдемі форматта шығарады. Кейбір код редакторлары осы екі әрекетті де орындайды. Microsoft-тың Visual Studio Code-та алғаш пайда болған Language Server Protocol (LSP) бастапқы код редакторларына LSP сервері бар кез келген тіл туралы синтаксистік ақпаратты оқи алатын LSP клиентін жүзеге асыруға мүмкіндік береді. Бұл бастапқы код редакторларына синтаксистің ерекшелендірілуі, қайта құру және сілтемелерді табу арқылы көптеген тілдерді оңай қолдауға мүмкіндік береді. Neovim және Brackets сияқты көптеген бастапқы код редакторлары кіріктірілген LSP клиентін қосты, ал Emacs, vim және Sublime Text сияқты басқа редакторлар жеке плагин арқылы LSP клиентін қолдайды.
Source code editors have features specifically designed to simplify and speed up typing of source code, such as syntax highlighting, indentation, autocomplete and brace matching functionality. These editors also provide a convenient way to run a compiler, interpreter, debugger, or other program relevant for the software development process. So, while many text editors like Notepad can be used to edit source code, if they do not enhance, automate or ease the editing of code, they are not source code editors. Structure editors are a different form of source code editor, where instead of editing raw text, one manipulates the code's structure, generally the abstract syntax tree. In this case features such as syntax highlighting, validation, and code formatting are easily and efficiently implemented from the concrete syntax tree or abstract syntax tree, but editing is often more rigid than free form text. Structure editors also require extensive support for each language, and thus are harder to extend to new languages than text editors, where basic support only requires supporting syntax highlighting or indentation. For this reason, strict structure editors are not popular for source code editing, though some IDEs provide similar functionality. A source code editor can check syntax while code is being entered and immediately warn of syntax problems. A few source code editors compress source code, typically converting common keywords into single byte tokens, removing unnecessary whitespace, and converting numbers to a binary form. Such tokenizing editors later uncompress the source code when viewing it, possibly prettyprinting it with consistent capitalization and spacing. A few source code editors do both. The Language Server Protocol, first used in Microsoft's Visual Studio Code, allows for source code editors to implement an LSP client that can read syntax information about any language with a LSP server. This allows for source code editors to easily support more languages with syntax highlighting, refactoring, and reference finding. Many source code editors such as Neovim and Brackets have added a built in LSP client while other editors such as Emacs, vim, and Sublime Text have support for an LSP Client via a separate plug in.
Тарих
1985 жылы IBM компаниясының Майк Коулишоу Оксфорд университеті баспасында LEXX тілін жасады. LEXX тірі талдауды пайдаланды және синтаксисті бөліп көрсету үшін түстер мен қаріптерді қолданды. IBM-нің LPEX (Live Parsing Extensible Editor) редакторы LEXX-ке негізделген және VM/CMS, OS/2, OS/400, Windows және Java жүйелерінде жұмыс істеді. Vim-нің алғашқы ресми жариялануы 1991 жылы болса да, синтаксисті бөліп көрсету мүмкіндігі 1998 жылы 5.0 нұсқасында ғана қосылды. 2003 жылы Дон Хо Windows үшін арналған бастапқы код редакторы Notepad++-ты шығарды. Оның мақсаты – Java негізіндегі JEXT бастапқы код редакторына балама жасау еді. 2015 жылы Microsoft компаниясы Visual Studio IDE-ге жеңіл және көп платформалы балама ретінде Visual Studio Code-ты ұсынды. 2016 жылы Visual Studio Code Language Server протоколын пайдаланатын Microsoft өніміне айналды.
In 1985, Mike Cowlishaw of IBM created LEXX while seconded to the Oxford University Press. LEXX used live parsing and used color and fonts for syntax highlighting. IBM's LPEX (Live Parsing Extensible Editor) was based on LEXX and ran on VM/CMS, OS/2, OS/400, Windows, and Java
Although the initial public release of vim was in 1991, the syntax highlighting feature was not introduced until version 5.0 in 1998. In 2003, Notepad++, a source code editor for Windows, was released by Don Ho. The intention was to create an alternative to the java based source code editor, JEXT
In 2015, Microsoft released Visual Studio Code as a lightweight and cross platform alternative to their Visual Studio IDE. In 2016, Visual Studio Code became the Microsoft product using the Language Server Protocol.