導航:首頁 > 源碼編譯 > 代碼編譯器

代碼編譯器

發布時間:2022-01-19 10:18:03

Ⅰ 如何自製一個代碼編輯器

編使用了c#來製作一個代碼編輯器,c#編程不需要考慮內存等操作,而且面向對象,製作起來較為簡單,如果您要用c++等語言開發,網路
「 SciLexer.dll」就能看到相關資料了,首先,我們簡單布局一下,新建一個新的c#
windows應用窗體項目,然後在窗體放入richTextBox控制項,一個LinkLabel控制項(用於觸發事件),一個TabControl控制項
(把開源的代碼編輯器控制項放在這個控制項裡面)。

接下來,我們讓TabControl控制項,richTextBox控制項和LinkLabel控制項隨著窗體的大小的變化而調整,如圖所示,設置他的Anchor、Dock等屬性,進行相應的修改,這里不再多說。那下面就是最關鍵的編程部分了。

在添加代碼之前,我們需要引用一下dll,我們直接引用c#的dll即可,簡便了我們編程的難度。我們右擊添加引用即可,選擇我們的dll,點擊確定即可。然後我們開始寫真正代碼了。

下面貼出示例代碼:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using ScintillaNet;//引用dll
/* sqzhmir1206 網路經驗 示例代碼 感謝您的閱讀*/
namespace 命名空間名稱//請自行修改
{
public partial class Form1 : Form
{
public Scintilla Myediter;
public Form1()
{
InitializeComponent();
//以下是聲明了編輯代碼的控制項 這里取名「Myediter」
this.Myediter = new Scintilla();
this.Myediter.Margins.Margin1.Width = 1;
this.Myediter.Margins.Margin0.Type = MarginType.Number;
this.Myediter.Margins.Margin0.Width = 0x23;
this.Myediter.ConfigurationManager.Language = "cs";
this.Myediter.Dock = DockStyle.Fill;
this.Myediter.Scrolling.ScrollBars = ScrollBars.Both;
this.Myediter.ConfigurationManager.IsBuiltInEnabled = true;
}
private void Form1_Load(object sender, EventArgs e)
{
this.tabPage1.Controls.Add(this.Myediter);//加入編輯代碼的控制項 這里取名「Myediter」。
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
Myediter.Text = richTextBox1.Text.ToString();//Myediter控制項顯示richtextbox1控制項的文字。
}
}
}
然後我們編譯,修改報錯的問題,運行。

Ⅱ 什麼是代碼編輯器

代碼編輯器是IDE集成開發環境的一部分,用來編寫代碼的。就像記事本一樣的。

Ⅲ 什麼代碼編輯器比較好用

著名的代碼編輯器:Microsoft Visual Studio Code、Github Atom、Sublime text、Adobe Brackets

最推薦的一種:Atom

推薦理由:

鏈接:如何評價 GitHub 發布的文本編輯器 Atom?

作者:韋易笑

用過不少編輯器:UltraEdit / EditPlus / (G) Vim / GEdit / NotePad++ / TextMate / ProgrammerPad / Sublime 。確實是工作上用他們寫過代碼的。而 VSC / Emacs 只是體驗了一下基本使用方法,算不上真用。用下來的結論是:Atom 比 Vim 更 Vim,比 Emacs 更 Emacs,同樣,比 Sublime 更 Sublime。


Atom 唯一的槽點就是「卡」,不過那是去年的情況了,1.0後性能數次大提升,比起sublime/vsc之類雖不算流暢,但同時編輯20個數千行的文件沒有壓力。如今讓人感覺慢的地方主要是啟動loading(也大大短於eclipse, idea),使用時並沒察覺它比其他編輯器慢再哪。而文本編輯器的快慢,更重要的是「讓你工作更快更有效率」。下面說說為何 Atom比其他更有效率:


兼容VIM模式


這無疑團結了一大班 Vim過來的用戶,Sublime雖然也有VIM模式,但是Sublime在 mac下面的vim模式有bug,我習慣用 hjkl來移動游標,sublime再mac下hjkl移動有問題,且我習慣CTRL_[來返回NORMAL,手指不離開主鍵盤區,而sublime的vim模式只支持ESC返回,加上其作者經常神秘消失,最穩定的2.x版本已三年沒有更新,這些問題一直得不到修正。


由於Atom的定製程度直追 Vim/Emacs,它的vim模式能夠使用插件來實現,而不像sublime必須builtin,Atom的VIM模式除了官方實現外還有很多用戶實現,各有所長,你不喜歡可以換,Sublime就傻逼了,覺得builtin的不行,你就沒辦法了,而且作者不更新你也沒辦法。


Atom里的Vim模式並不是強制的,你可以用也可以不用,這樣入門用戶也不會覺得困難,但是如果你用慣Vim的話,使用Vim模式可以取得更好的效率,我覺得Vim/Atom-VimMode能夠提升效率的地方有以下三方面:


1. 手指不離開主鍵盤區:

所有功能皆能在主鍵盤區完成,不用去按方向鍵,不用把手挪去按Home/End,更不用動滑鼠。就像詠春中強調中線理論,認為一切動作圍繞中軸線開展,守護自己中軸線的同時攻擊別人的中軸線。Vim/Atom-VimMode中,雙手不但從不離開主鍵盤,並且八根手指隨時守護再HOME位(ASDF, JKL;)有動作就移動,然後馬上歸位。


2. 細粒度微操作:

星際/dota玩的好,微操基本功,微操又快又精確,Vim/Atom-VimMode一樣,比如:

if (xxxx) {}

很多人編碼時習慣「成對編碼」,寫了申請資源的代碼,先把釋放資源寫了,寫了左括弧,先把右括弧給補充完,當你寫完第二行代碼時,需要用到「再1-2行中間插入一行」,此時你的游標停留在第二行,傳統編輯器你需要:按上箭頭移動游標到第一行 -> 按END鍵去到第一行末尾 -> 按回車插入一行,mac下的END鍵還需要用CMD+右來組合出來,而Vim/Atom-VimMode中,你只需要shift+o即可,手指完全不離開主鍵盤區,不用像傳統編輯器那樣,右手先移動到箭頭區又移動到HOME的小鍵盤區,再移動回主鍵盤區這么麻煩,類似還有:

使用o直接再下一行插入,避免 END/回車

使用I再行首插入,避免移動半天游標。

向前/後移動一個單詞到單詞頭、尾。

快速更改當前單詞,用/來快速搜索移動游標。

dd+p來快速移動代碼塊,取代shift+方向鍵半天。

shift-j 來兩行合並成一行,代替 HOME, back 若干次。

。。。

你再編輯代碼的時候,90%的情況可以直接一步完成,這就叫細粒度微操,而且整個過程手都不需要離開主鍵盤,不像傳統編輯器那樣,若干笨重的操作組合再一起,操作不夠細步驟多的同時手還要再:主鍵盤區,方向鍵區,擴展鍵區 來回移動,效率奇低。而Vim/Atom-VimMode下,手指隨時守護在home區(ASDF JKL;),所有微操都是圍繞HOME區進行,不會移動到任何主鍵盤以外的區域,更別說用滑鼠、觸摸板。


3. 批量操作:

比如要給下面代碼每行後面加一個分號:

var x = 1var y = 2var z = 3console.log('result is ' + (x + y + z).toString())

一般做法是:移動游標到行末->END->分號->移動游標到下一行,Vim裡面不需要移動游標到行末,只需循環敲入:「A;<ESC>j」 即可,本來操作就少很多。這還不是最少操作,更少操作是利用Vim裡面的句號「.」功能重復上一次操作,即第一行「A;」補充了一個分號後,第二行只需要按一下"."即可重復,於是最後操作變為:

第一行:A;<ESC>

後面所有行:J.


超級爽快的操作,這樣的操作還很多,你還可以單條命令對一萬行代碼重復上述步驟,或者把c代碼拷貝到go裡面先一句話把所有分號給刪除了。Vim下面的名言:絕不重復。


總之如果你熟悉 VIM模式,用 Atom能感到完全自由的方式,隨心所欲的書寫代碼,而不是被書寫這件事情費腦筋,解放大腦完全用於思考而不用於打字。但是同時對不習慣VIM的人照樣友好,或者對想使用VIM的便利卻又痛恨VIM這個軟體的簡陋的人帶來了福音。


脊椎記憶


「同樣動作重復300次,肌肉就會有記憶,而一個動作重復600次,脊椎就會有記憶」
-- 李小龍


編輯器就是關於脊柱記憶的東西,所以多投入一些時間去了解你使用的編輯器,掌握他們的各種快捷操作和高級功能是一個能讓你事半功倍的好主意。


格鬥游戲玩的好的人有很多,下等高手靠熟練,中等高手靠反應,上等高手靠意識。更熟練的掌握你的編輯器,讓更多日常工作固化成記憶記錄再你的脊椎上,使用的時候,脊椎這枚協處理器就能完成代碼編寫,一個操作,剛一想到,脊椎就自動執行出來了,小腦騰出空間來組織判斷,大腦騰出空間來思考更重要的東西,就像你走路,你不用思考邁腿那麼自然,別人一拳過來,你潛意識一動,一連串動作就出去了,一隻飛蛾飛過來,你潛意識的閉上眼睛保護眼部,這就是脊椎記憶,如果還要經過大腦繞一圈,反應慢不說,大腦這顆cpu都用在這些瑣事上了,思考的時間自然少了不少。


所以從內到外的了解你的編輯器,並且熟練掌握他們,是對你提高工作效率的最佳投資,Atom的全平台支持,開放源代碼,深度可定製等三個特點,比起其他閉源的,平台支持不全的,擴展少的編輯器來說能讓你有不同層面的了解機會,同時為你提供足夠的空間。


深度可定製系統


Vim/Emacs的精髓在於:「可以調教」,本來不順手的東西,只要容易調教,假以時日,都會慢慢變得越來越順手,越來越「懂你」,越來越「貼心」,以至於後面大家都離不開它了。而 Atom 也同樣是一款容易被你調教的編輯器。先前給vim寫過插件,給sublime寫過插件,如今給Atom寫過插件,橫向對比下來,幾個結論:


插件能做事情多少:Atom > Vim >> sublime

插件開發學習門檻:Vim > Atom > sublime

插件開發文檔豐富:Atom > sublime >> Vim


Atom 的定製化程度遠遠高過sublime之類(不用實際看法,看看雙方開發文檔即可),直追 Vim / Emacs,sublime的大部分定製無外乎改改json,插件能做的事情相當有限。


Atom 的定製化系統主要有三方面:


1. 細致:

設計之初就考慮的事情,方方面面都能定製,見官方文檔,以及插件:vim-mode,minimap (稍微了解下這兩個類似的功能再 Atom 和 sublime的實現就能知道 sublime被甩了多少條街了)。可以細粒度的控制編輯器內所有行為,小到移動一下游標,刪除當前一個字元,大到打開一個面板,比如 「core:more-up」 可以向上移動一行游標,「window:focus-pane-on-left」 可以把焦點設置到左邊的面板,atom內核和大量第一方第三方packages 都是以命令的方式把基礎功能提供出來,你可以隨意互相調用或者設置熱鍵。

除去命令外的API層面,幾乎每個部件每個像素點都可控,比如這樣的插件你永遠無法再 Vim / Emacs / Sublime 下面見得到:activate-power-mode。


2. 直觀:

由於使用 javascript/coffee進行開發,但 javascript/coffee是屬於即便你沒寫過他們,讀都能讀得懂,VimScript就不一樣了,雖然也能做相同的事情,但實話實說,晦澀難寫,比如我要取得當前文件的路徑和文件名,在 VimScript裡面需要這么寫:

let l:path = expand('%:p:h')let l:name = expand('%:t:r') 或者 let l:name = expand('%<')

而在 Atom 里我們用atom自己的功能直接取出路徑來,然後進行切割:

var fullpath =atom.workspace.getActiveTextEditor().getPath();var filename = path.basename(fullpath);var filepath = path.dirname(fullpath);

就問大家一下?哪段代碼更友好直觀?你一眼就知道在做什麼?你更願意用按照哪段代碼進行插件開發?是上面的VimScript?還是下面的 javascript ?


結論是很清晰的,Atom的 javascript開發插件更簡單直觀,即便沒文檔,看別人怎麼寫的自己也會了,同時靈活性大大高於VmScript,各種事件處理回調,javascript天生擅長做這些事情,還有第二行,第三行,我們用到了 node.js 的 path模塊,進行文件路徑切割。這樣的寫法,再VimScript 裡面基本是無法想像的。


Vim是強大,但是畢竟是30年前的東西了,即便最熟練的 Vimer 也都承認 VimScript 的晦澀難懂,阻礙了很多人為其開發插件。而給Atom開發插件,只需要掌握javascript,掌握 javascript的人很多,學習了javascript你也可以用在很多地方。不像VimScript那樣只能用在Vim裡面,而正因為其晦澀,Vim新版本開始支持內嵌 python的寫法:

python << EOF
import random
print random.randint(0,10)EOF


VimScript中 Python等動態的支持正是說明其開發維護者也承認 VimScript本身的古老,對比現代編程語言已經有些格格不入了,缺乏強大的描述能力,難以構建復雜的功能模塊,才會去支持Python內嵌這樣的寫法。可大量的工作還是需要再Python之外完成,同時,並非所有平台自帶的Vim都支持python,除了mac外,所有debian / ubuntu 發行版自帶的Vim都不支持 Python。導致你想寫一個通用的擴展還得判斷下是否 has('python') 沒有的話老老實實用 VimScript 去實現它,這不是折磨人么?


Sublime裡面可以用原生 Python 寫擴展,比 VimScript爽,但是 sublime 的插件能做的事情還不及VimScript的一半,所以怎麼能指望他們能寫出高端的功能來呢?


3. 強大:

Atom的內核 Electron (原來的 Atom-shell)可以理解成:Chromium + Node.JS,而整個Atom的界面,你可以理解成就是一顆 HTML 的 DOM 樹結構,這意味著你可以這樣:

var div = document.createElement("div"); div.innerText = "abc"; atom.workspace.addBottomPanel(div);

就可以簡單的在 atom 裡面增加一個顯示對象,這意味著再給div加個 html的 onclick就可以實現GUI交互,界面上的對象隨便寫點html代碼就可以控制效果,意味著你可以使用 jQuery 來為atom增加新面板,意味著你只需要寫一個簡單的 .css 文件就可以把 Atom 整個編輯器的外觀給修改了。這在 Vim/Emacs 中是幾乎不可想像的事情,sublime基本就別提了。


大量的前端開發技術和 Node.JS 基礎模塊供你任意使用,正是由於近年 Chromium / node.js 系列技術的成熟,和 Atom / Visual Studio Code 這類基於前端技術的客戶端軟體的成功,讓我看到了客戶端(桌面+移動)軟體開發的新方向。


做VIM/Emacs不能做的事情


Vim/Emacs過去給人的映像是:幾乎能做任何事情,確實如此,但畢竟是二三十年前的東西了,而他們一直堅挺到現在一方面是操作便利,更重要的是這么長時間還沒有出現一款又開源又具備同樣操作便利性和可擴展性的編輯器,所以Vimer, Emacser 們最樂意展示給別人看的就是他們又安裝了什麼插件,急於展示可以把 Vim / Emacs 裝扮成了一個多像 IDE 的東西,而今天這個「可以做任何事情」的高度可定製特性已經被Atom所吸收並完全超越,就像 Atom 的開發blog:「 Introcing Atom」 上說的一樣,對易用性和可展性 「決不妥協」 :

We think we can do better. Our goal is a zero-compromise combination of hackability and usability: an editor that will be welcoming to an elementary school student on their first day learning to code, but also a tool they won't outgrow as they develop into seasoned hackers.


拋開易用性的這個 Atom 的明顯優勢不說,前面其實已說了不少 Atom 比 Vim/Emacs 更靈活強大的地方,可能有些人還有疑惑,不是說 Emacs 「沒有不能做的事情」 么?你看 Atom的面板裡面可以嵌入一個 Terminal,Vim/Emacs一樣可以嵌入啊,為何還說 Atom 比它強啊?


沒錯,Vim用久了會產生心理舒適區,多模式編輯使人神清氣爽,命令化文本處理讓你賞心悅目,但是受限於本身機制用久了會容易痛苦掙扎:雖然vim的各種擴展似乎什麼事情都能做,但每個擴展卻只能做到70分,總有那麼30%的地方做不到位。所以用的時間長了,上半身爽的要死,下半身痛不欲生。。。。


Vim/Emacs即便大部分擴展功能也都可以稱為「能用」,可幾十年的歷史包袱太沉,很多事情對他們來講就是禁區,比如詭異的標簽功能,容易誤操作的buffer/窗口切換,缺乏非同步機制,編譯時間長只有傻等著,無法跟Atom一樣邊讀代碼,邊運行程序看結果,對照輸出結果和源代碼找問題,連實現個內嵌終端都用了若干年,還實現的那麼別扭。。。。。。。。。


這類硬傷有許多,再舉個最簡單的例子,minimap,就是 sublime那種大家喜歡的文檔縮略圖,這個現代編輯器必備的功能,誰能用 Vim/Emacs 實現一下看看?Atom 可以衍生出 Visual Studio Code 這樣漂亮的編輯器,Vim/Emacs能衍生么?Atom可以隨便用各種先進的前端技術,不當可以嵌 Terminal我甚至可以再 Atom 嵌入一個 js版本的 DOSBOX 玩老游戲《命令與征服》:

https://archive.org/details/softwarelibrary_msdos_games

Play DOS games online


當然這樣並沒有任何卯用,但是如果在 Atom裡面內嵌一個瀏覽器,方便的實時預覽html/css的效果呢?或者 Atom 裡面內嵌一個 Markdown Previewer ,實時查看 Markdown 的效果呢?請問 Vim/Emacs 里怎麼實現法?


Atom插件演示:markdown實時預覽,左邊寫右邊即時更新,100%兼容github的markdown語法


短短兩年的時間,這么多優秀的插件,只想說,如今 Atom 作為 Vim/Emacs 的繼承者和超越者出現了,所以社區對 Atom 的反應也是熱烈的,看看下面一組數據,截止今天(2016年3月15日),Atom共有擴展插件 3500+ 個,發布不到兩年的時間,這是什麼概念呢?

Ⅳ 代碼編輯器有哪些

C語言代碼推薦使用source insight

Ⅳ C語言的代碼編輯器怎麼用

C語言的代碼編輯器一般使用UE,以下介紹UE的使用方法:
1、在UE上用的最多的是c語言,這里,就以c語言作為參考,看看UE的強大的操作功能。打開一個c語言文件。文件-- 打開--選擇。
2、這個時候,可以看到它的函數功能和上面的快捷方式的圖標是可以使用的。函數列表可以在視圖--視圖列表--函數列表中找到。
3、然後,可以使用ue的查看方式,這里是默認為c語言格式,還可以設置為c#,java等格式,這樣可以把部分信息高亮顯示。還可以在:視圖 --- 查看方式-----編碼方式中找到。
4、比較功能和16進制功能,這個是很強大的工具。因為,在上線的時候,不知道修改了什麼就可以使用這個進行查看,還有,在linux下炒作的時候,16進制就可以看到文件中的字元編碼,找到最終的錯誤原因。
5、還有就是ue的列模式,這個模式對於編程來說,簡直逆天,當有些數據需要進行修改的時候,只是改某些列中的部分,這個就非常好用了。直接修改多列。這也是ue的一個特色吧。
6、強大的FTP功能,一般可以使用ue直接在ftp伺服器上直接編輯文件,然後,直接保存在伺服器上,這樣呢,可以減少代碼的本地管理和版本控制。
7、普通文件操作可以在快捷方式中使用新建,保存等功能,可以使用字數統計功能,具體的字數在狀態欄中有顯示。

Ⅵ 有哪些好用的代碼編輯器值得推薦

作為一個程序開發者,日常的開發工作絕對離不開代碼編輯器,不管是前端還是後台,下面幾款常用的代碼編輯器,可以試試:

1.Notepad++:相信大部分開發人員都聽說或使用過這個代碼編輯器,記事本的增強版,免費開源、小巧靈活、使用方便,支持常見的自動補全、語法提示、代碼高亮,可編輯語言多達27種。

2.EditPlus:這也是一款小巧靈活的代碼編輯器,功能類似於Notepad++,擁有強大的文本處理功能,界面簡潔美觀,啟動速度較快,支持常見的語法高亮、代碼折疊等功能。

3.PNEdit:這是由上海一家科技公司開發研製的一款免費、跨平台的文本編輯器,支持幾乎所有主流語言開發,常見的語法高亮、智能補全、語法檢查、括弧匹配,這個軟體都支持,除此之外,還支持git功能,插件擴展豐富,下載配置相關插件後,可直接調試、運行,在業界是一個非常受歡迎的代碼編輯器,張江男工作所選。

相信,對於大部分日常開發工作來說,完全夠用了,當然,你也可以使用對應的IDE來完成相關工作

Ⅶ 前端常用的幾種在線代碼編輯器各有什麼優勢

JS Bin - Collaborative JavaScript Debugging
介紹一款在線編輯器:jsbin jsbin的用法
優點:不需要登錄,即發即預覽
缺點:速度不靠譜
RunJS - 在線編輯、展示、分享、交流你的 JavaScript 代碼
優點:國內訪問速度快,可以上傳圖片(左下角)
缺點:需要登錄,用戶名
Create a new fiddle
優點:功能強大,歷史記錄給力,缺點:訪問速度慢

Ⅷ 代碼編輯器有什麼用

就是用來編輯代碼的啊,隨便哪個能進行文本編輯的軟體都可以做代碼編輯器的。
但是一個好的代碼編輯器會讓你舒心很多,打個比方,寫文章你願意用寫字板還是word ?都是文本編輯器

Ⅸ HTML 最好用的代碼編輯器是哪個

sublime text 3
editplus
這幾個挺好用的
還有hbuilder。前端也挺好用的

Ⅹ 關於代碼編輯器的

兄台,每個軟體的用法當然是百花齊放的,都有它們各自的特色,你應該到Notepad++的官網去查看使用幫助。

至於,你想實現和網頁一樣的代碼語法高亮,在Notepad++中是自帶有這樣的功能的,選擇 語言(L) -> 再找到相應的語言格式,如c, java等,就可以了

閱讀全文

與代碼編譯器相關的資料

熱點內容
程序員真的累嗎 瀏覽:323
學信網app為什麼刷臉不了 瀏覽:871
天蠍vs程序員 瀏覽:991
單片機下載口叫什麼 瀏覽:186
程序員的道 瀏覽:924
雲伺服器不實名違法嗎 瀏覽:556
怎樣查看文件夾圖片是否重復 瀏覽:993
文件怎麼導成pdf文件 瀏覽:805
打開sql表的命令 瀏覽:101
安卓手機如何面部支付 瀏覽:37
天元數學app為什麼登錄不上去 瀏覽:822
明日之後為什麼有些伺服器是四個字 瀏覽:102
安卓系統l1是什麼意思 瀏覽:24
伺服器一直崩應該用什麼指令 瀏覽:923
cm202貼片機編程 瀏覽:729
php構造函數帶參數 瀏覽:178
解壓電波歌曲大全 瀏覽:345
為啥文件夾移到桌面成word了 瀏覽:859
命令符的安全模式是哪個鍵 瀏覽:760
編程中學 瀏覽:957