vscodeでRe:View(.re)ファイルへのtextlintを実行する
このエントリでは、 vscodeでRe:View(.re)ファイルへのtextlintを実行する設定方法を示します。
次のvscodeの外部ツールとの連携方法を参考とした手順です。
Integrate with External Tools via Tasks | Visual Studio Code
https://code.visualstudio.com/docs/debugtest/tasks
作業ディレクトリの作成とtextlintのインストール
作業ディレクトリを作ります。
$ mkdir vscode-textlint-study && cd $_
texlintと各種ルール・プラグインを追加します。
$ npm add textlint textlint-plugin-review textlint-rule-preset-ja-technical-writing
textlintの設定
textlintの設定ファイルを作成します。
.textlintrc
{
"rules": {
"preset-ja-technical-writing": {
"max-ten": {
"max": 6
},
"sentence-length": {
"max": 160
}
}
},
"plugins": [
"review"
]
}
この段階で、コマンドからtextlintを実行出来るようになります。
vscodeの設定
taskの追加
vscodeにtextlintのtaskを追加します。
.vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "textlint",
"type": "shell",
"command": "node_modules/.bin/textlint -f compact ${relativeFile} || exit 0",
"presentation": {"reveal": "silent", "revealProblems": "onProblem", "close": true},
"problemMatcher": {
"owner": "textlint",
"fileLocation": ["absolute"],
"pattern": [
{
"regexp": "^(.*):\\s+line\\s(\\d+),\\s+col\\s+(\\d+),\\s+(.*)\\s+-\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5,
}
]
}
}
],
}
この段階で、
Ctrl+Shift+P → 「Tasks: Run Task」
から、textlintタスクを呼び出せるようになります。
taskの自動実行
タスクの実行を手動では無く自動化するために、
「ファイルの自動保存」と「保存時のタスク実行」を設定します。
保存時のタスク実行は、以下の拡張を利用するので、インストールしておきます。
Trigger Task on Save | Gruntfuggly | VisualStudio Marketplace
https://marketplace.visualstudio.com/items?itemName=Gruntfuggly.triggertaskonsave
次の設定ファイルで、「ファイルの自動保存」と「保存時のタスク実行」を設定します。
.vscode/settings.json
{
"triggerTaskOnSave.tasks": {
"textlint": [
"**/*.re",
]
},
"files.autoSave": "afterDelay"
}
ここまでの設定で、
textlintの指摘を確認しながらドキュメントを書き進めることができるようになります。
以上。