2016-03-25 15 views
1

Emacs ile birlikte TypeScript'i kullanmaya başladık.Emacs Typescript hata satırı formatı çıkışı - Kullanıcı tanımlı seçenek?

Bulduğumuz bir sorun, TypeScript hata satırı formatının Emacs derleme modu hata işleme ile uyumlu görünmüyor olmasıdır.

örn. biz almak typescript derleyici için aynı yaparsanız (mesajı dikkate onun biçimi şu önemli) bir kasıtlı hata bir C programı derlemek ve tanıtmak Eğer biz

t1.c:6:5: error: use of undeclared identifier 'a'          

olsun

utilities.ts(13,18): error TS2384: Overload signatures must all be ambient or non-ambient. 

Emacs, ESC-g n tuş komutunu kullanarak ilk hata iletisi türünü işleyebilir ve ana düzenleyici penceresini hatayı hareket ettirir.

Emac'ler ikinci hata satırı formatını işleyemiyor.

Bir Perl betiğinde TypeScript derleyicisini paketleyerek ve satırları uygun şekilde yeniden biçimlendirmek için Perl betiğini aldıktan sonra bir geçici çözümü bir araya getirdik. Bu çalışır ama biraz klozdur ve eğer TypeScript biraz daha esnek olsaydı güzel olurdu.

Şekil işareti hata çıktısını, Emacs ile uyumlu bir biçime değiştirmek için bir bayrak veya bir yol olup olmadığını merak ediyoruz.

cevap

0

t1.c:6:5: ... biçimi, aslında GNU Kodlama Standartlarında belgelenen resmi biçimdir, bu yüzden, Typescript derleyicisinin yazarlarıyla iletişim kurmalı ve hata iletilerinin biçimini değiştirmelerini istemeniz gerektiğini düşünüyorum.

Bu sırada, Derleme'nin hata iletilerini nasıl tanıyacağınızı açıklamak için compilation-error-regexp-alist'u düzeltmek isteyeceksiniz.

(eval-after-load 'compile 
    (add-to-list 'compilation-error-regexp-alist 
       '("^\\([^(\n]+\\)(\\([0-9]+\\),\\([0-9]+\\)):" 1 2 3))) 

gibi Muhtemelen bir şey başlamak olabilir. Mesajların bir kısmı gerçek hatalar değil, daha fazla uyarı veya yan bilgi ise, yukarıdakileri hassaslaştırabilirsiniz. Biçimin ayrıntıları için bkz. C-h v compilation-error-regexp-alist RET.

İlgili konular