Doom-emacs: tsx-tideの代わりにEslintを使用して.ts / .tsxファイルをチェックするにはどうすればよいですか

作成日 2020年01月21日  ·  3コメント  ·  ソース: hlissner/doom-emacs

何を達成しようとしていますか?
TSLintは非推奨になり、Typescript / TSXファイルをリントする方法としてEslintが

リンティングにTideを使用しないようにする方法に少し戸惑い、.jsファイルのようにデフォルトでEslintに設定します。

何を試しましたか?
typescript-eslintパッケージをインストールして、Typescriptを正しく処理するように.eslintrcファイルを構成しました。

システムインフォメーション


((emacs
(バージョン。 "26.3")
(機能。 "NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS THREADS")
(ビルド。「2019年12月28日」)
(buildopts "--enable-locallisppath = / usr / local / share / emacs / site-lisp --infodir = / usr / local / Cellar / emacs-mac / emacs-26.3-z-mac-7.8 / share / info / emacs --prefix = / usr / local / Cellar / emacs-mac / emacs-26.3-z-mac-7.8 --with-mac --enable-mac-app = / usr / local / Cellar / emacs-mac / emacs -26.3-z-mac-7.8 --with-gnutls ")
(windowsys .batch)
(daemonp .server-running))
(ドゥーム
(バージョン。 "2.0.9")
(ビルド。 "HEAD->開発453e205342020-01-15 11:19:32 -0500")
(dir。 "〜/ work / dotfiles / emacs / .doom.d /"))
(システム
(タイプ。ダーウィン)
(config。 "x86_64-apple-darwin18.7.0")
(シェル。 "/ usr / local / bin / fish")
(uname。 "Darwin 18.7.0 Darwin Kernel Version 18.7.0:Tue Aug 20 16:57:14 PDT 2019; root:xnu-4903.271.2〜2 / RELEASE_X86_64 x86_64")
(パス "〜/ .nvm / versions / node / v12.13.0 / bin" "〜/ go / bin" "〜/ .bin" "〜/ .yarn / bin" "〜/ .config / yarn / global / node_modules /.bin ""〜/ .rbenv / bin ""〜/ .rbenv / shims "" / usr / local / bin "" / usr / bin "" / bin "" / usr / sbin "" / sbin "" / usr / local / go / bin "" / usr / local / MacGPG2 / bin "" /Library/Frameworks/Mono.framework/Versions/Current/Commands "" / Library / TeX / texbin ""〜/ go / bin "" 〜/ .bin ""〜/ .yarn / bin ""〜/ .config / yarn / global / node_modules / .bin ""〜/ .rbenv / bin ""〜/ .rbenv / shims ""〜/ .rbenv / version / 2.6.3 / bin "" /usr/local/Cellar/rbenv/1.1.2/libexec "" /usr/local/Cellar/emacs-mac/emacs-26.3-z-mac-7.8/libexec/emacs/ 26.3 / x86_64-apple-darwin18.7.0 "))
(構成
(envfile。envvar-file)
(elc-files。0)
(モジュール:completion company ivy:ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints(popup + all + defaults)treemacs unicode vc-gutter vi-tilde-fringe window-select Workspaces:editor(evil + everywhere )ファイルテンプレートフォールドマルチカーソル回転テキストスニペット:emacs(dired + icons)electric vc:term vterm:tools editorconfig eval:checkers Syntax:tools(lookup + docsets)macos magit pdf:lang common-lisp data emacs-lisp javascriptラテックス元帳マークダウン(org + dragndrop + ipython + pandoc + present)plantuml python ruby​​ rust sh web:config literate(デフォルト+ bindings + smartparens))
(パッケージ「n / a」)
(elpa "ox-hugo")))

:checkers syntax :lang javascript question resolved

最も参考になるコメント

@gueorgui vueがうまく機能するためには、同様のことをしなければならず、次のようになりました。

(define-derived-mode vue-mode web-mode "Vue mode")
(add-to-list 'auto-mode-alist '("\\.vue\\'" . vue-mode))
(after! flycheck
  (flycheck-add-mode 'javascript-eslint 'vue-mode)
  (flycheck-add-mode 'css-stylelint 'vue-mode)
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'lsp-ui 'javascript-eslint)))
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'javascript-eslint 'css-stylelint))))

あなたはのインスタンス置き換えることができますvueしてtsx 、および削除stylelint良くとしてサポートを。 これもlspを使用するため、これも調整する必要がある場合があります。

全てのコメント3件

私自身の質問に続いて、 typescript-mode javascript-eslintを実行する方法を見つけました:

(defun typescript-mode-setup ()
  "Custom setup for Typescript mode"
  (setq flycheck-checker 'javascript-eslint)
  )
(add-hook 'typescript-mode-hook 'typescript-mode-setup)

問題は、 .tsxファイルがtypescript-modeではなく(そのモードはJSX / TSXをサポートしていないため) web-modeで開かれ、 javascript-eslintように見えることです。 web-mode有効なFlycheckチェッカーではありません。

したがって、TSXファイルにtypescript-modeを使用することに固執し、JSX部分の構文の強調表示とインデントの優れた機能を失うか、Eslintの使用をあきらめなければなりません。

どんな洞察も大歓迎です😄

@gueorgui vueがうまく機能するためには、同様のことをしなければならず、次のようになりました。

(define-derived-mode vue-mode web-mode "Vue mode")
(add-to-list 'auto-mode-alist '("\\.vue\\'" . vue-mode))
(after! flycheck
  (flycheck-add-mode 'javascript-eslint 'vue-mode)
  (flycheck-add-mode 'css-stylelint 'vue-mode)
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'lsp-ui 'javascript-eslint)))
  (add-hook 'vue-mode-hook (lambda () (flycheck-add-next-checker 'javascript-eslint 'css-stylelint))))

あなたはのインスタンス置き換えることができますvueしてtsx 、および削除stylelint良くとしてサポートを。 これもlspを使用するため、これも調整する必要がある場合があります。

@afontaineありがとうございました!

このページは役に立ちましたか?
0 / 5 - 0 評価