自分メモです。
Visual Studio Codeで記事や書籍等を執筆するにあたっての環境を久しぶりに整えようと思ったのでせっかくならまとめておこうと思います。
vscode-textlint
vscode-textlint は著名なテキスト校正ツールであるtextlintをVS Code上から実行するためのプラグイン。僕の場合はMarkdown形式で文章を書くことが多いんだけど、その校正をVS Code上でできるようになります。もちろんテキストファイルもOK。
なお、このプラグインを使うには事前にtextlintをOS側でインストールしておく必要があります。
ただ、OSの環境を汚したくないという人向けにここではRemote Containersの環境で利用することにしていきます。
といっても普通にRemote Containersで使うための環境を用意するだけです。ここではシンプルにNode.jsのDockerイメージを以下のようなDockerfileで用意します。
FROM node:15.3.0 AS dev RUN apt-get update && apt-get install vim -y && apt-get clean RUN npm install -g textlint
最後の1行でこのイメージをビルドする際にtextlintを入れてます。rootでやってるとかそういうツッコミは今回はなしでお願いします。
また、Remote Containersの環境設定ファイルであるdevcontainer.jsonは以下のようにしました。プラグインは適当に。
{ "name": "Writing Environment", "context": "..", "dockerFile": "../Dockerfile", "build": { "target": "dev" }, "settings": { "terminal.integrated.shell.linux": null }, "extensions": [ "visualstudioexptteam.vscodeintellicode", "hookyqr.beautify", "alefragnani.bookmarks", "lacroixdavid1.vscode-format-context-menu", "eamodio.gitlens", "oderwat.indent-rainbow", "ionutvmi.path-autocomplete", "chrmarti.regex", "wayou.vscode-icons-mac", "taichi.vscode-textlint" ]
extensionsの最下行のtaicih.vscode-textlintっていうのがvscode-textlintなんですが、これをRemote Containersの環境つまり起動して接続したDockerコンテナ上でも使えるようにしています。
さて、おもむろにこのプロジェクトフォルダをVS Codeで開いてReopen in containerするとこのイメージがビルドされて使えるようになると思います。
.textlintrcを用意していきます。自分の場合はVS CodeのRemote Containers環境下でやるのでVS Codeのターミナルで実行していますが、普通の環境ならOSのターミナル上で実行すればいいかと思います。
# npx textlint --init .textlintrc is created.
この時点では.textlintrcの中身は空に近いです。
{ "filters": {}, "rules": {} }
いくつかルールを追加していきます。textlintというのはこのルールに沿って校正してくれます。そしてこのルールはいろんなものが公開されています。
自分の場合は以下のようなルールをインストールしています。これもnpmでインストールする必要があります。Remote ContainersでやるならContainerに接続した状態でVS Codeのターミナルから実行するといいです。
ルールについては好みがあると思うので各自で好きなものを設定するといいです。自分の.textlintrcはこんな感じになってます。
{ "filters": {}, "rules": { "textlint-rule-preset-ja-technical-writing": true, "textlint-rule-spellcheck-tech-word": true, "preset-ja-technical-writing": true, "preset-jtf-style": true, "no-dropping-the-ra": true, } }
なお、スペース周りのプリセットルールとしてtextlint-rule-preset-ja-spacingというのがあるんですが、なぜか自分の環境ではうまく入らなかったです。
このあたりを設定して文章を書いてみたり、既存の文章を開いてみるとこんな感じで指摘されるので適宜校正をしていくといいです。
CharacterCount
これは読んで字の如く文字数をカウントしてくれる拡張です。開いたテキストファイルもしくはMarkdown形式のファイルの文字数をカウントしてステータスバーに表示してくれます。
カウントされるのは以下を除く文字数だそう。
すべての空白文字(全角/半角スペース、改行、タブ)
ルビ範囲指定記号(《》)とその中の文字
ルビ開始記号(「|」、「|」)
その他
あとはまあGit関連とか通常のプロジェクトとあまり変わりません。書籍等の執筆と言えども僕はGitで管理してます。これまでも出版社の人たちとのやり取りもGitHub等を使うケースが多かったです。
論文とか書く人だとLaTeX関連のものを入れる人も多いでしょうね。
自分の場合はMarkdownで書くことが圧倒的に多いのですが、VS Codeの場合はそのプレビューがデフォルトでできます。ただ、ちょっと使ってないとショートカット忘れがちなので書いておきます。Macの場合、
⌘K → V
です。このデフォルトのプレビューが気に入らないという人であればみんな大好きGitHub風のプレビューを提供するMarkdown Preview Github Styling
なんてプラグインもあるのでどうぞ。
他にも執筆とかいっぱいしている人たちでオススメなんかあれば教えてください。