Källkodsredigerare
En källkodsredigerare är ett textredigeringsprogram designat speciellt för att redigera källkod för datorprogram . Det kan vara ett fristående program eller så kan det vara inbyggt i en integrerad utvecklingsmiljö (IDE) eller webbläsare . Källkodsredigerare är ett grundläggande programmeringsverktyg , eftersom programmerares grundläggande uppgift är att skriva och redigera källkod.
Egenskaper
Källkodsredigerare har egenskaper som är speciellt utformade för att förenkla och påskynda inskrivning av källkod, såsom syntaxmarkering , indrag , autoslutförande och matchningsfunktioner . Dessa redigerare tillhandahåller också ett bekvämt sätt att köra en kompilator , tolk , felsökare eller annat program som är relevant för programvaruutvecklingsprocessen . Så även om många textredigerare som Anteckningar kan användas för att redigera källkod, är de inte källkodsredigerare om de inte förbättrar, automatiserar eller förenklar redigeringen av kod .
Strukturredigerare är en annan form av källkodsredigerare, där man istället för att redigera råtext manipulerar kodens struktur, vanligtvis det abstrakta syntaxträdet . I det här fallet implementeras funktioner som syntaxmarkering, validering och kodformatering enkelt och effektivt från det konkreta syntaxträdet eller det abstrakta syntaxträdet, men redigering är ofta mer stel än text i fritt format. Strukturredigerare kräver också omfattande stöd för varje språk, och är därför svårare att utöka till nya språk än textredigerare, där grundläggande stöd endast kräver stöd för syntaxmarkering eller indrag. Av denna anledning är redigerare med strikta strukturer inte populära för källkodsredigering, även om vissa IDE:er har liknande funktionalitet.
En källkodsredigerare kan kontrollera syntax medan kod skrivs in och omedelbart varna för syntaxproblem. Ett fåtal källkodsredigerare komprimerar källkoden och konverterar vanligtvis vanliga nyckelord till enbyte-tokens, tar bort onödiga blanksteg och konverterar siffror till en binär form. Sådana tokeniserande redaktörer komprimerar senare källkoden när de tittar på den, och kanske skriver ut den med konsekvent versaler och mellanrum. Några källkodsredigerare gör båda. [ citat behövs ]
Language Server Protocol , som först användes i Microsofts Visual Studio Code , tillåter källkodsredigerare att implementera en LSP-klient som kan läsa syntaxinformation om vilket språk som helst med en LSP-server. Detta gör det möjligt för källkodsredigerare att enkelt stödja fler språk med syntaxmarkering, refactoring och referenssökning. Många källkodsredigerare som neovim och Brackets har lagt till en inbyggd LSP-klient medan andra redigerare som Emacs, vim och Sublime Text har stöd för en LSP-klient via en separat plug-in.
Historia
1985 skapade Mike Cowlishaw från IBM LEXX medan han var utstationerad till Oxford University Press . LEXX använde live parsing och använde färg och teckensnitt för syntaxmarkering. IBMs LPEX (Live Parsing Extensible Editor) baserades på LEXX och kördes på VM/CMS , OS/2 , OS/400 , Windows och Java
Även om den första offentliga utgåvan av vim var 1991, introducerades inte syntaxmarkeringsfunktionen förrän version 5.0 1998. [ bättre källa behövs ]
2003 släpptes Notepad++ , en källkodsredigerare för Windows, av Don Ho. Avsikten var att skapa ett alternativ till den java-baserade källkodsredigeraren, JEXT
2015 släppte Microsoft Visual Studio Code som ett lätt och plattformsoberoende alternativ till deras Visual Studio IDE. 2016 blev Visual Studio Code Microsofts produkt med hjälp av Language Server Protocol.
Jämförelse med IDE
En källkodsredigerare är en komponent i en integrerad utvecklingsmiljö. I motsats till en fristående källkodsredigerare innehåller en IDE vanligtvis också felsöknings- och byggverktyg.
Fristående källkodsredigerare föredras framför IDE av vissa utvecklare när de tror att IDE:erna är uppsvällda med funktioner de inte behöver.
Anmärkningsvärda exempel
- Atom
- Fästen
- Förmörkelse
- Emacs
- Gedit
- NetBeans
- Notepad++ (endast Windows)
- SlickEdit
- Sublim text
- TextMate (endast macOS)
- UltraEdit
- vi / Vim
- Visual Studio-kod
Kontrovers
Många källkodsredigerare och IDE:er har varit inblandade i pågående användarargument, ibland kallade "heliga krig" av programmeringsgemenskapen. [ bättre källa behövs ] Anmärkningsvärda exempel inkluderar vi vs. Emacs och Eclipse vs. NetBeans . Dessa argument har utgjort en betydande del av internetkulturen och de börjar ofta när någon av redaktörerna nämns någonstans.
Se även
- Integrerad utvecklingsmiljö
- Jämförelse av integrerade utvecklingsmiljöer
- Jämförelse av källkodslekplatser online
- Jämförelse av textredigerare § Programmeringsfunktioner
- Jämförelse av JavaScript-baserade källkodsredigerare
- Jämförelse av hex-redigerare
- Jämförelse av HTML-redigerare
- Lista över textredigerare
- Redaktörskrig