Emacs'ı IDE olarak kullanma


169

Şu anda Emacs ile iş akışı C veya C ++ kodlama zaman üç pencere içerir. Sağdaki en büyük dosya üzerinde çalıştığım dosyayı içeriyor. Sol ikiye ayrılır, alt kısmı derlemek veya komut yapmak için kullandığım bir kabuktur ve üst kısım genellikle çalışırken bir tür belge veya README dosyasıdır. Şimdi bazı oldukça uzman Emacs kullanıcıları olduğunu biliyorum ve niyetim tam bir IDE olarak kullanmaksa diğer Emacs'ın işlevsel olarak ne işe yaradığını merak ediyorum. Özellikle, çoğu IDE genellikle bu işlevleri yerine getirir:

  • Kaynak kodu düzenleyicisi
  • Derleyici
  • Hata ayıklama
  • Doküman Arama
  • Sürüm Kontrolü
  • Sınıf arama ve nesne denetçisi gibi OO özellikleri

Bunlardan birkaçı için Emacs'ın bu işlevlere nasıl uyabileceği oldukça açık, ama geri kalan ne olacak? Ayrıca, belirli bir dile odaklanılması gerekiyorsa, bunun C ++ olması gerektiğini söyleyebilirim.

Düzenleme: Bir kullanıcı 'geri kalanı hakkında ne' dediğimde daha spesifik olması gerektiğini belirtti. Çoğunlukla verimli sürüm kontrolü ve dokümantasyon arayışını merak ettim. Örneğin, SLIME'de Lisp işlevinde hızlı bir hiperspec araması yapmak oldukça kolaydır. C ++ STL belgelerinde bir şey aramak için hızlı bir yolu var mı ( örneğin hash_map tam sözdizimini unuttuysam )?


5
Sorular ve tüm cevaplar ana IDE noktasını tamamen kaçırmaktadır. Ama önce beni yanlış anlamayın: Bence Emacs'ın sunabileceği yere yakın bir yerde gelen tek bir IDE (bazı nadir Lisp / Şema olanların dışında) yoktur. ANCAK modern IDE'ler bunun gibi şeyler yapar: olası kodlama hatalarının anında vurgulanması (kısmi derlenemeyen AST'lerde bile). IntelliJ IDEA bunu yapar: diyelim ki, @NotNull kullanırsanız, sizi gerçek zamanlı olarak olası ihlaller konusunda uyarır. Sonra "niyetle kodlama" nın tamamı var : Emacs altında (henüz) işe yaramıyor.
SyntaxT3rr0r

18
İyi IDE'nin gerçekten parlayabileceği başka bir alan: bağlamsal kod tamamlama (yine tarafsız, derlenemeyen kaynak dosyalarında bile). Bağlamsal kod tamamlama p0wns hippi-genişletmek bile komik değil gibi bir gün: sadece Emacs'ı utandırır. Bir kez daha, IDE "metin editörlerinin" Emacs ile karşılaştırıldığında ucuz, topal, aptal, acıklı çöp parçası olduğu için çok üzgünüm. Ancak iyi IDE'ler, Emacs'in temelde hiçbir yerde olmadığı birçok alanda (yeniden düzenleme, bağlamsal kod tamamlama, gerçek zamanlı uyarılar vb.) Parlar. Bana IDE'm ortasında Emacs ver dedi. O gün için özlem duyuyorum.
SyntaxT3rr0r

Kod çökmesine ne dersiniz?
AlwaysLearning

Söylemeliyim ki, buradaki yorumlar muhtemelen programcılar tarafından yazılmamıştır. Emacs'ın bunu nasıl yapamayacağını ve yapamayacağını okudum, ama diğer IDE'ler bunu yapabilir. Kulağa şöyle geliyor: bir programcı, programlama dilini kullanarak sorunları çözen kişi; bazı programların bir özelliği olmadığı ve bu nedenle daha kötü olduğu sorunu vardır, ancak bu özelliği oluşturmak istemezler. İnsanlar gibi, neden ilk etapta programcı oldun ?? !!
red777

@ SyntaxT3rr0r bağlama duyarlı kod tamamlama anlambilimimiz var.
Vasantha Ganesh K

Yanıtlar:


76

"Geri kalanı" ile ne demek istediğine özel olmalısın. Nesne müfettişi (farkında olduğum) dışında, emacs yukarıdakilerin tümünü kolayca yapar:

  • editör (açık)
  • derleyici - sadece çalıştırın M-x compileve derleme komutunu girin. Oradan M-x compile, varsayılanı kullanabilir ve kullanabilirsiniz. Emacs, C / C ++ derleyici hatalarını yakalar (GCC ile en iyi şekilde çalışır) ve uyarı veya hata içeren satırlara gitmenize yardımcı olur.
  • Hata ayıklama - benzer şekilde, hata ayıklamak istediğinizde, yazın M-x gdbve özel bağlamaları olan bir gdb arabelleği oluşturur
  • Doküman Arama - emacs kod navigasyonu için mükemmel CScope bağlarına sahiptir. Diğer belgeler için: Emacs'ın bir manpage okuyucusu vardır ve diğer her şey için web ve kitaplar vardır.
  • sürüm kontrolü - çeşitli VCS arka uçları için çok sayıda Emacs bağlaması vardır (CVS, SCCS, RCS, SVN, GIT hepsi akla geliyor)

Düzenleme: Kod gezinme ile ilgili belge arama hakkındaki cevabımı fark ediyorum. İşte biraz daha bilgi:

Google araması şüphesiz daha fazla örnek ortaya çıkaracaktır.

İkinci bağlantının gösterdiği gibi, kutunun dışında desteklenmese bile diğer belgelerdeki işlevler (ve her ne olursa olsun) aranabilir.


3
"Mx derleme" olmamalı mı?
Svante

1
Bence GNU global bugünlerde CScope'dan daha üstün: gnu.org/software/global
Jürgen Hötzel

@ Jürgen Hötzel: Bir süredir aktif olarak Emacs kullanmadım. O zamanlar GNU'yu CScope IIRC ile birlikte kullandım. Eğer küresel CScope'u geliştirmiş olsaydı şaşırmam.
Ben Collins


29

Emacs Kod Tarayıcı emacs için daha "geleneksel" IDE tarzı bir ortam olarak tavsiye etmek zorunda .

EDIT : Ayrıca şimdi Magit emacs standart VCS arayüzü üzerinde tavsiye ederim .


Gönderiyi düzenleyebilmeniz için yeterli sayıda temsilciniz var.
13'te baudtack

19

Kabuk penceresinde bir make komutu çalıştırmak yerine, Mx derlemesini denediniz mi? Bu, make komutunuzu, ekran hatalarınızı çalıştırır ve çoğu durumda çıktıda dosya adları ve satır numaraları varsa hataya neden olan kod satırına atlamayı çok kolay hale getirir.

IDE'lerin hayranıysanız, emacs'ın hız çubuğu paketine (Mx hız çubuğu) bakmak da isteyebilirsiniz. Henüz yapmadıysanız, kodunuzda gezinmek için etiket tablolarını nasıl kullanacağınızı öğrenin.


15

Bir zamanlar keşfedilen sizi hiç düşünmediğiniz şekilde daha üretken hale getiren emacların köşeleri vardır. Diğerlerinin de belirttiği gibi, etiketleri kullanmak, kaynak kodunuzu yakınlaştırmanın harika ve hızlı bir yoludur ve M- / (dabbrev-expand) işlevini kullanmak, bir değişken adını tamamlarken tam olarak beklediğiniz şeyi yapar.

Oluşumu kullanmak, bir arabellekteki normal ifadenin tüm oluşumlarını içeren bir arabellek elde etmek için yararlıdır. Kodu yeniden düzenlerken ve kod parçaları veya değişkenlerin kullanımlarını ararken veya kaynak dosyalarınızda TODO işaretçileri kullanıyorsanız ve bunların tümünü ziyaret etmek istiyorsanız bu gerçekten kullanışlıdır.

flush-lines, sort-numeric-fields, replace-regexp ve dikdörtgen işlevleri, bazı araçlardan dökümü almak ve onu elisp programı veya virgülle sınırlanmış bir elektronik tablo gibi yararlı verilere dönüştürmek için gerçekten yararlı olabilir.

IDE hakkında emacs ile yapabileceğiniz şeyler gibi bir sayfa yazdım

http://justinsboringpage.blogspot.com/2007/09/11-visual-studio-tricks-in-emacs.html

Elisp öğrenmek, başka bir emac'ın tipik bir IDE'nin yapabileceğinin ötesinde neler yapabileceğini kendinize cevaplamanın başka bir harika yoludur.

Örneğin, Suçlama gibi Performans yardımcı işlevlerini yazma hakkında blog yazdım (kendi yönteminizi yazmak, tam olarak istediğiniz gibi davranmasını sağlayabilirsiniz) ...

http://justinsboringpage.blogspot.com/2009/01/who-changed-line-your-working-on-last.html

Ayrıca dinamik olarak çalıştığım kodlama standartlarına uyan noktadaki bir işlev için yorumlar oluşturan kod yazdım.

Benim elisp kodumun hiçbiri özellikle harika değil ve çoğu zaten kütüphanelerde var, ancak emac'ların bir iş günü boyunca ortaya çıkan özel şeyler yapmasını sağlamak gerçekten yararlı.



8

Sürüm kontrolü için, hangi sürüm kontrol sistemini kullandığınıza bağlı olarak kullanabileceğiniz birkaç şey vardır. Ancak bazı işlevler hepsi için ortaktır.

vc.el , sürüm denetimini bir dosya düzeyinde yerleşik yoludur. Çoğu sürüm kontrol sistemi için arka uçları vardır. Örneğin, Subversion arka ucu Emacs ile birlikte gelir ve git arka uçları ve diğer kaynaklardan kullanılabilen diğerleri vardır.

En kullanışlı komut, ziyaret ettiğiniz dosya için uygun sonraki eylemi gerçekleştiren Cx vv (vc-next-action) komutudur . Bu, depodan güncelleme veya değişikliklerinizi işleme koymanız anlamına gelebilir, vc.el, Cx Cq'ye ihtiyacı olan bir sistem (RCS gibi) kullanıyorsanız, dosyaları teslim etmek ve yeniden kontrol etmek için de hatırlatır .

Diğer çok kullanışlı komutlar Cx vl ve Cx v = , kullandığınız dosyanın günlüğünü ve geçerli farkını gösteren .

Ancak gerçek üretkenlik için, basit şeyler dışında tek dosya vc.el komutlarını kullanmaktan kaçınmalısınız. Size, tüm ağacınızın durumu hakkında genel bir fikir verebilecek ve size daha fazla güç verebilecek ve birkaç dosyaya dayanan tutarlı taahhütler oluşturma yeteneğinden bahsetmeyecek birkaç paket var.

Bunların çoğu, CVS için büyük ölçüde etkilenir veya orijinal pcl-cvs / pcvs'ye dayanır . Yıkılma ile geliyor bunlardan bile iki Var psvn.el ve dsvn.el . Git vs. için paketler var.


8

Tamam, buradaki herkes emac'ları harika bir IDE yapmak için mükemmel ipuçları veriyor.

Ancak herkes, emac'larınızı çok fazla uzantıyla özelleştirdiğinizde (özellikle anında tür denetimi, işlev tanımı aramaları vb.) Özelleştirdiğinizde, emaclarınızın bir düzenleyici için çok, çok yavaş yükleneceğini unutmayın.

Bu sorunu çözmek için emacs kullanmanızı şiddetle tavsiye ederim server mode.

Kullanımı oldukça basittir, init dosyanızı özelleştirmeye gerek yoktur. Sadece daemon modunda emacs başlatmanız gerekir;

emacs --daemon

Bu bir emacs sunucusu oluşturur, daha sonra terminalden veya gui'den bağlayabilirsiniz. Ayrıca, aramayı kolaylaştırmak için bazı takma adlar oluşturmanızı da öneririm.

alias ec="emacsclient -t"
alias ecc="emacsclient -c &"
# some people also prefer this but no need to fight here;
alias vi="emacsclient -t"

Bu şekilde, emacs gedit'ten daha hızlı ateş edecek, söz ver.

Burada olası tek sorun, sıradan kullanıcınızdan emacs daemon çalıştırıyorsanız, muhtemelen emacs sunucusunu şu şekilde bağlayamazsınız: root .

Bu nedenle, root erişimi olan bir dosyayı açmanız gerekiyorsa; kullanın tramp. Sadece emacs istemcinizi normal kullanıcı ile çalıştırın ve böyle dosyaları açın;

C-x C-f
/sudo:root@localhost/some/file/that/has/root/access/permissions
# on some linux distro it might be `/su:root@...` 

Bu hayatımı kolaylaştırdı, ağır kişiselleştirilmiş python IDE'mi milisaniyede bu şekilde açabilirim. Ayrıca sistem başlangıcınıza emacs --daemon eklemek veya emacsclient için bir masaüstü dosyası oluşturmak isteyebilirsiniz. Bu size kalmış.

Emacs daemon ve emacs istemcisi hakkında daha fazla bilgi wiki'de bulunabilir;

http://www.emacswiki.org/emacs/EmacsAsDaemon

http://www.emacswiki.org/emacs/EmacsClient


1
Bunun beş yıl sonra olduğunu biliyorum, ama o zaman da kullanıyordum: Eğer ayarlarsanız EDITOR="emacsclient -t" VISUAL="emacsclient -c", sudo tabanlı düzenleme yapabilir sudo -eveya sudoeditbazen TRAMP (genellikle denetim nedenleriyle) kullanmayı tercih edebilirsiniz. Ayrıca emacsclient'ı --alternate-editor= ( sondaki boşluğa ihtiyaç duyar) da çağırabilirsiniz ve çalışmıyorsa arka plan programını başlatır, bu da ilk kez beklemek istiyorsanız arka planını sistem başlangıcına koyma ihtiyacını ortadan kaldırır. her önyüklemede editörü çalıştırın.
Darael

7

Mx derleme hakkında bilgi sahibi olmanız gerektiğini kabul ediyorum (bunu ve Mx sonraki hatasını kısa tuş dizisine bağlayın).

Sürüm kontrolü için bağlamalar hakkında bilgi edinin (örn. Vc-diff, vc-next-action, vb.)

Kayıtlara bakın. Yalnızca arabelleklerdeki konumları değil, tüm pencere yapılandırmalarını da hatırlayabilirsiniz (Cx rw - kaydedilecek pencere yapılandırması).


6

Emacs'ın VC özelliklerini keşfetmek için bir başlangıç ​​noktası (açık olmayabilir) Mx vc-next-action .

Dosyanın durumuna ve VC arka ucuna bağlı olarak geçerli dosyadaki "sonraki mantıksal sürüm kontrol işlemini" yapar. Dosya sürüm kontrolü altında değilse, dosyayı kaydeder, dosya değiştirilmişse, değişiklikler gönderilir vb.

Alışmak biraz zaman alıyor, ama çok kullanışlı buluyorum.

Varsayılan tuş bağlama Cx vv


4

Microsoft TFS'ye emacs entegrasyonu için bir TFS.el var . Codeplex.com çalıştıran TFS de dahil olmak üzere herhangi bir TFS ile çalışır.

Kurulum için temel adımlar:

  1. Tfs.el dosyasını yükleme yolunuza yerleştirin.

  2. .Emacs dosyanızda:

    (require 'tfs)
    (setq tfs/tf-exe  "c:\\vs2008\\common7\\ide\\tf.exe")
    (setq tfs/login "/login:domain\\userid,password")
          -or-
    (setq tfs/login (getenv "TFSLOGIN"))  ;; if you have this set
  3. Ayrıca .emacs dosyanızda, tfs komutları için yerel veya global anahtar bağlamaları ayarlayın. şöyle:

    (global-set-key  "\C-xvo" 'tfs/checkout)
    (global-set-key  "\C-xvi" 'tfs/checkin)
    (global-set-key  "\C-xvp" 'tfs/properties)
    (global-set-key  "\C-xvr" 'tfs/rename)
    (global-set-key  "\C-xvg" 'tfs/get)
    (global-set-key  "\C-xvh" 'tfs/history)
    (global-set-key  "\C-xvu" 'tfs/undo)
    (global-set-key  "\C-xvd" 'tfs/diff)
    (global-set-key  "\C-xv-" 'tfs/delete)
    (global-set-key  "\C-xv+" 'tfs/add)
    (global-set-key  "\C-xvs" 'tfs/status)
    (global-set-key  "\C-xva" 'tfs/annotate)
    (global-set-key  "\C-xvw" 'tfs/workitem)

Um ... bu ciddi bir şekilde parolanızı .emacs dosyanıza düz metin olarak mı koyuyor?
TED

@TED ​​- hayır, sadece bir örnek. Sırlar başka bir yerde saklanmalıdır.
Cheeso

3

derleme, sonraki hata ve önceki hata Emacs C ++ geliştirme için oldukça önemli komutlar (grep çıktısı da çok iyi çalışır). Etags, visit-tags-table ve find-tag da önemlidir. completion.el, 20. yüzyılın en büyük haksız saldırılarından biridir ve C ++ hacklemenizi büyüklükte hızlandırabilir. Oh ve ediff'i unutmayalım.

Ben henüz bir kabuk ziyaret etmeden sürüm kontrolünü kullanmayı öğrenmek için, ama şimdi ben çok daha sık (git ile) taahhüt ediyor muhtemelen.


3

Ayrıca sekme çubuğu da bulabilirsiniz yararlı . Eclipse'den Emacs'a geçerken kaçırdığım tek davranışı taklit eder. "," Ve "" ile ilişkili. önceki ve sonraki sekme çubuğuna geçmek için, her zaman tamponu Ctrl-x b ile değiştirmenizi engeller.

Maalesef, belirtilen web sayfası indirmek için doğru sürümü sağlamıyor. Bununla birlikte, çoğu Ubuntu sürümü, emacs-goodies paketlerinde teslim eder.


1
Harika, tabbar'ın daha yeni bir sürümünü almanın bir yolunu arıyordum. Ubuntu'da olmayanlar için burada bulabilirsiniz. Packages.ubuntu.com/karmic/emacs-goodies-el
İbrahim

3

Windows'ta emacs kullanıyorum. derleme modülü güzel, ama derlemek komut derleme komut satırı hakkında daha akıllı olmasını istedim. Belirtmek için "Dosya Değişkenleri" kullanmak mümkündürcompile-command , ama bundan biraz daha akıllıca bir şey istedim. Bu yüzden yardım etmek için küçük bir işlev yazdım. Çalışırken kullanıcıdan komut isteminde kullanılacak derleme komutunu tahmin eder compile.

Tahmin işlevi vbproj veya csproj veya sln dosyasını arar ve bulunursa msbuild'i önerir. Sonra arabellek dosya adına bakar ve buna bağlı olarak farklı şeyler önerir. Bir .wxs dosyası, bunun bir WIX projesi olduğu ve muhtemelen bir MSI oluşturmak istediğiniz anlamına gelir, bu nedenle tahmin mantığı MSI için bir nmake komutu önerir. Bir Javascript modülü ise, öneri .js dosyasını dizmek için jslint-for-wsh.js'yi çalıştırmaktır. Bir yedek olarak, nmake önerir.

Kullandığım kod şöyle:

(defun cheeso-guess-compile-command ()
  "set `compile-command' intelligently depending on the
current buffer, or the contents of the current directory."
  (interactive)
  (set (make-local-variable 'compile-command)
       (cond
        ((or (file-expand-wildcards "*.csproj" t)
             (file-expand-wildcards "*.vcproj" t)
             (file-expand-wildcards "*.vbproj" t)
             (file-expand-wildcards "*.shfbproj" t)
             (file-expand-wildcards "*.sln" t))
         "msbuild ")

        ;; sometimes, not sure why, the buffer-file-name is
        ;; not set.  Can use it only if set.
        (buffer-file-name
         (let ((filename (file-name-nondirectory buffer-file-name)))
           (cond

            ;; editing a .wxs (WIX Soluition) file
            ((string-equal (substring buffer-file-name -4) ".wxs")
             (concat "nmake "
                     ;; (substring buffer-file-name 0 -4) ;; includes full path
                     (file-name-sans-extension filename)
                     ".msi" ))

            ;; a javascript file - run jslint
            ((string-equal (substring buffer-file-name -3) ".js")
             (concat (getenv "windir")
                     "\\system32\\cscript.exe c:\\users\\cheeso\\bin\\jslint-for-wsh.js "
                     filename))

            ;; something else - do a typical .exe build
            (t
             (concat "nmake "
                     (file-name-sans-extension filename)
                     ".exe")))))
        (t
         "nmake "))))


(defun cheeso-invoke-compile-interactively ()
  "fn to wrap the `compile' function.  This simply
checks to see if `compile-command' has been previously set, and
if not, invokes `cheeso-guess-compile-command' to set the value.
Then it invokes the `compile' function, interactively."
  (interactive)
  (cond
   ((not (boundp 'cheeso-local-compile-command-has-been-set))
    (cheeso-guess-compile-command)
    (set (make-local-variable 'cheeso-local-compile-command-has-been-set) t)))
  ;; local compile command has now been set
  (call-interactively 'compile))

;; in lieu of binding to `compile', bind to my monkeypatched function
(global-set-key "\C-x\C-e"  'cheeso-invoke-compile-interactively)

Bunu derleme işlevi için "tavsiye öncesi" olarak yapmaya çalıştım ama tatmin edici bir şekilde çalışamadı. Bu yüzden yeni bir işlev tanımladım ve kullandığım tuş vuruşu kombinasyonuna bağladım compile.


DÜZENLEME şimdi "var akıllı-compile.el ayrıca bu fikir bir adım atarsa".


2

Belge aramasında: bu, programlama dillerinize bağlıdır.

C kütüphaneleri ve sistem çağrıları genellikle man sayfalarında belgelenir. Bunun için kullanabilirsiniz M-x man. Bilgi sayfalarında bazı şeyler daha iyi belgelenebilir; kullanın M-x info.

Elisp'in kendisi için kullanın C-h f. Python >>> help(<function, class, module>)için yorumlayıcıda kullanın .

Diğer dillerin çoğunun html biçiminde belgeler sunduğunu görüyorum. Bunun için gömülü bir tarayıcı deneyin (w3m kullanıyorum). BROWSERBir emacsclient -e "(w3m-goto-url-new-session \"$@\")"şeyin tarayıcı açıp emac'ların içinde açılmasını istemeniz durumunda , ortam değişkeninizi etrafındaki bir sarmalayıcı komut dosyasına (* nix) ayarlayın.


2

Bunun çok eski bir yazı olduğunu biliyorum. Ancak bu soru emacs yeni başlayanlar için geçerlidir.

IMO'yu emac'leri bir ide olarak kullanmanın en iyi yolu, emac'larla bir dil sunucusu protokolü kullanmaktır . Dil sunucularıyla ilgili tüm bilgileri bağlantılı web sitesinde bulabilirsiniz.

Hızlı kurulum için bu sayfaya gitmenizi tavsiye ederim eglot . IMO eglot işini oldukça iyi yapıyor. Şirket gibi otomatik tamamlama paketleriyle iyi entegre olur. Referans bulma ve daha fazlasını sağlar.

Ayrıca bir hata ayıklayıcı için, belirli diller için belirli hata ayıklayıcılara ihtiyacınız olabilir. Gdb'yi emacs içinden kullanabilirsiniz. Sadece yazın M-x gdb.

Kodunuzu derlemek için kabuk komutlarını kullanmak en iyisidir. Bu proje üzerinde çalışıyorum eproj . Tamamlanması biraz zaman alacak. Ancak tek yaptığı, shell komutunu proje türüne eşlemek. Ve sizi kabuk yoluyla projelendirir. Komut yürütmek için de aynısını yapar. Bu projeyi tamamlamak için yardıma ihtiyacım olabilir. Kullanıma hazır değil, ancak biraz elisp biliyorsanız koddan geçebilirsiniz.

Bu bir yana, emacs compile komutunu kullanmak her zaman en iyisidir.

Sürüm kontrolü için, henüz magit'in gücü ile eşleşebilecek başka bir paket görmedim . Git'e özgü. Ayrıca git için çok yararlı bulduğumuz başka bir paket git-timemachine var.

Nesne araması ve sınıf araması dil sunucusu protokolü ile sağlanır.

Bir proje ağacı treemacs ile ide benzeri arayüz için kullanılabilir .

Mermi adı verilen bir proje Etkileşim Kütüphanesi de vardır .

Otomatik tamamlama için şirket modunu çok kullanışlı buluyorum .

Gerçekten emacs her şeyi yapmak için yapılabilir.


1

Son yıllarda, Clang Emacs C ++ desteğinin önemli bir parçası oldu. Atila Neves, CppCon 2015'te bir konuşma yaptı: "C ++ IDE Olarak Emacs"

Aşağıdaki konular için çözümler sunduğu 16 dakikalık bir konuşmadır:

  • Tanıma atla
  • Otomatik tamamlama
  • Anında sözdizimi vurgulama
  • Projede dosya bul

Slaytları burada bulabilirsiniz .


0

Unix veya X windows stilinde, her şey için çalışan entegre bir IDE olduğunu bilmiyorum.

Bir IDE'nin sadece bir bileşeni olan hata ayıklayıcılarla etkileşim kurmak için realgud düşünün . Yararlı bulduğum diğer şey, konum mesajları için ayrıştırıcılar, böylece bir çağrı yığını iziniz varsa ve çağrı kaydında belirli bir yerde düzenlemek istiyorsanız, bu ön uç arabirimi bunu yapabilir.

Şimdiye kadar bu program iyileştirmeyi kullanabilir. Ama sonra üzerinde çalışan insanları da geliştirmek için kullanabilir.

Feragatname: Realgud üzerinde çalışıyorum


0

Lsp-modunu deneyin. Artık sunucuya bağlanan emacs içindeki diğer IDE işlevlerini kullanabilirsiniz. Daha fazla bilgi için: lsp-mode

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.