簡體   English   中英

Javascript Emacs自動縮進和flycheck表現不佳

[英]Javascript Emacs auto indent and flycheck is not behaving as I want

我試圖在Emacs中獲得基本的JS IDE,但我無法使所有工作正常進行。

我遇到的問題是:
1.如果按回車,我不會自動縮進。
2. Flyckeck沒有顯示為次要模式

以下是我的.init文件的相關部分。

;JS settings start

(setq js-basic-indent 2)
(setq-default js2-basic-indent 2)

(setq-default js2-basic-offset 2)
(setq-default js2-auto-indent-p t)
(setq-default js2-cleanup-whitespace t)
(setq-default js2-enter-indents-newline t)
(setq-default js2-global-externs "jQuery $")
(setq-default js2-indent-on-enter-key t)
(setq-default js2-mode-indent-ignore-first-tab t)

(setq-default js2-global-externs '("module" "require" "buster" "sinon" "assert" "refute" "setTimeout" "clearTimeout" "setInterval" "clearInterval" "location" "__dirname" "console" "JSON"))

;; We'll let fly do the error parsing...
(setq-default js2-show-parse-errors nil)

;; (autoload 'js2-mode "js2-mode" nil t)
(require 'js2-mode)
(add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))

;make the word function in to just f
(font-lock-add-keywords
 'js2-mode `(("\\(function *\\)("
             (0 (progn (compose-region (match-beginning 1) (match-end 1) "ƒ")
                       nil)))))

;place warning font around TODO and others
(font-lock-add-keywords 'js2-mode
                        '(("\\<\\(FIX\\|TODO\\|FIXME\\|HACK\\|REFACTOR\\):"
                           1 font-lock-warning-face t)))

;color any defined variables with color-identifiers-mode
(add-hook 'js2-mode-hook 'color-identifiers-mode)

;;Flyckeck for jshint
(require 'flycheck)
(add-hook 'js2-mode-hook
          (lambda () (flymake-mode 1)))

;tern mode active for js mode
(add-hook 'js2-mode-hook (lambda () (tern-mode t)))
; End js settings ////////////////////////////// 

我從http://howardabrams.com/projects/dot-files/emacs-javascript.html大量借用

Flycheck無法正常運行,因為您require它,但是隨后嘗試啟用Flymake ,這是另一種模式。 嘗試以下方法:

(add-hook 'js2-mode-hook #'flycheck-mode)

如果要全局啟用flycheck-mode (如作者在下面的評論中所建議),則可以執行以下操作

(add-hook 'after-init-hook #'global-flycheck-mode)

在版本24.4之前,Emacs中的大多數模式在按Enter鍵時都不會縮進。 綁定到Cj 要將newline-and-indent綁定到Enter ,請嘗試從EmacsWiki修改的類似這樣的內容

(add-hook 'js2-mode-hook '(lambda ()
  (local-set-key (kbd "RET") 'newline-and-indent)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM