vscodeでrubocopのAutoCorrectを使う方法

ググると、rufoやprettierというフォーマッター使う事例がありましたが、rubocop単体できた方が望ましいので 調べてやって見ました。

プラグイン

misogi/vscode-ruby-rubocop: Rubocop extension for Visual Studio Code

こんな感じで動作してくれます。
f:id:rochefort:20191123175448p:plain 素晴らしい。

問題点

2つ挙げられています。
1つ目は、rvm or chruby だとうまくいかないらしいですが、とりあえずrbenvだと動作したので気にしないことにします。

This extension may have a problem when using a rvm or chruby environment. We recommend vscode-ruby. It can also lint ruby code.

When autoCorrect, History of changing file is broken.

2つ目は、autoCorrect すると履歴壊れますとのこと。 こっちは気になりますが、でもやっぱり保存時にautoCorrectさせたい。

AutoCorrect設定

vscodeでformatterを保存時に有効にするには、以下の設定をすれば動作しますが、 どうも動作しません。

"editor.formatOnSave": true,

対応方法

autocorrect on save · Issue #49 · misogi/vscode-ruby-rubocop
を見ると、

"editor.formatOnSaveTimeout": 5000,

を入れれば良いとのこと。

今のところこんな感じで使っています。

    "[ruby]": {
      "editor.formatOnSave": true,
      "editor.formatOnSaveTimeout": 5000,
    },
    "ruby.rubocop.executePath": "",
    "ruby.rubocop.configFilePath": "",

今すぐ導入すべきVisual Studio CodeのSpell Checker

最近AngularをやるようになってVS Codeをよく使うようになりました。
今時のeditorであれば特に真新しい機能ではないのですが、spell checkerのプラグインを入れて見て、改めて良いなと思ったのでご紹介。
VS Code使ってる人で未導入の人は今すぐ入れましょう。絶対にtypoの1つや2つはあるはず。

これ

Code Spell Checker - Visual Studio Marketplace
jsとかだと、入れたらすぐに利用できます。
 

補足

以下、defaultサポートのfile typeです。

AsciiDoc
C, C++
C#
css, less, scss
Elixir
Go
Html
Java
JavaScript
JSON / JSONC
LaTex
Markdown
PHP
PowerShell
Pug / Jade
Python
reStructuredText
Rust
Scala
Text
TypeScript
YAML

rubyなどはサポート対象外なので、.vscode/settings.json に以下のように記載するとok。
file typeの指定すれば良いです。公式では、 cSpell.json の利用を紹介していますが、
私は設定ファイル増やしたくないとの理由で .vscode/settings.json に記載しています。
cSpell.json の場合は top levelの cSpell は不要)

{
  "cSpell": {
    "enabledLanguageIds": [
      "css",
      "html",
      "javascript",
      "json",
      "less",
      "markdown",
      "plaintext",
      "scss",
      "text",
      "ruby",
      "yaml",
      "yml"
    ],

ignore wordsは以下のように記載すると良いです。

{
  "cSpell": {
    "words": [
      "hatena",
      "somewords"
   ]
}

あとは、repogitoryに突っ込んで良ければ、チームメンバーと共有できます。

pdfをkindleに変換する

Amazon.co.jp ヘルプ: Send-to-Kindle Eメールアドレスの使い方について

kindle変換で失敗

ドキュメントをKindle形式に変換する場合は、
端末に送信して「コンテンツと端末の管理」の
Kindleライブラリに保存する前に、Eメールの件名に「変換」と入力します。

オライリーで買ったリーダブルコードのpdfを送信して見ると、、、
なんと英語版かつところどころ文字化けしたものがライブラリに追加されてしまった。。
なんやこれ。
内容を解析して既存のkindle本の場合はそれを送信しているのかなぁ。
 

ということでタイトルに「変換」を入れずにpdfのまま利用。

ちなみに

フォーマットは色々対応してくれている見たい。
Amazon.co.jp ヘルプ: Kindleパーソナル・ドキュメントサービス

Kindle形式(.MOBI、.AZW)
Microsoft Word(.DOC、.DOCX)
HTML(.HTML、.HTM)
RTF(.RTF)
Text(.TXT)
JPEG(.JPEG、.JPG)
GIF(.GIF)
PNG(.PNG)
BMP(.BMP)
PDF(.PDF)

あと、メール送信後に確認メールがamazonから来るので、リンククリックして確認すると変換処理を行ってくれる。
最初これをしていなくて、いつになったら使えるのかとやきもきしていた。