前置き
この記事はVisual Studio Code Advent Calendar 2019の7日目の記事になります。
はじめに
何でも拡張できるVisual Studio Codeですが、実のところ物書き用エディタとしても重宝します。
私はエンジニアの傍ら評論サークル「恢徳堂」1で主筆をしていたり、その他諸々物書きをしていたりします。
実のところ、こういった物書き用途でもVisual Studio Codeは すごく 優秀なのです。
ということで、物書きサイドで使っている拡張機能や設定をお伝えできれば幸いです。
おすすめ拡張機能と設定
さて、ここからは評論や技術書を書いたりするのによい拡張機能と設定と、小説(およびそれに類するもの)を書くのによい拡張機能をお伝えできればと思います。
なお、独断によるものなので、皆さんにとって必ずしも使い勝手がよいとは限りません。この点はあしからず。
私が入れている拡張機能
CharacterCount
文字数をカウントしてくれる拡張機能です。
Markdownとプレーンテキストのみ有効ですが、物書き系の中には文字数が重要なものもあり、これを入れることによって今何文字書いたかがわかる仕組みになっています。
vscode-textlint
textlintという日本語の校正支援ツールをVisual Studio Codeで使えるようにする拡張機能です。
これを使う事で、日本語や英語で気をつけるべき点をアドバイスしてくれるのです。
なお、ルールとなる.textlintrc
は評論・技術文書用と小説用を分けています。
評論・技術文書用の設定
{
"rules": {
"incremental-headers": true,
"max-ten": {
"max" : 3
},
"no-doubled-conjunctive-particle-ga": true,
"no-dropping-the-ra": true,
"one-white-space-between-zenkaku-and-hankaku-eiji": true,
"common-misspellings": {
// Misspellings to be ignored (case-insensitive)
"ignore": []
},
"sjsj": {
// spelling errors are an edit distance of 1 from the target.
"distance": 1
},
"preset-jtf-style": true,
"prh": {
"rulePaths": [
"./node_modules/prh/prh-rules/languages/ja/typo.yml",
"./node_modules/prh/prh-rules/media/techbooster.yml",
"./node_modules/prh/prh-rules/media/WEB+DB_PRESS.yml"
]
}
},
"plugins": [
"review"
]
}
小説用の設定
{
"filters": {},
"rules": {
"general-novel-style-ja": {
// 各段落の先頭に許可する文字 (false: チェックしない)
"chars_leading_paragraph": " 「『【〈《((“\"‘'[[〔{{<<●",
// 閉じ括弧の手前に句読点(。、)を置かない
"no_punctuation_at_closing_quote": true,
// 疑問符(?)と感嘆符(!)の直後にスペースを置く
"space_after_marks": true,
// 連続した三点リーダー(…)の数は偶数にする
"even_number_ellipsises": true,
// 連続したダッシュ(―)の数は偶数にする
"even_number_dashes": true,
// 連続した句読点(。、)を許可しない
"appropriate_use_of_punctuation": true,
// 連続した中黒(・)を許可しない
"appropriate_use_of_interpunct": true,
// 連続した長音符(ー)を許可しない
"appropriate_use_of_choonpu": true,
// マイナス記号(−)は数字の前にしか許可しない
"appropriate_use_of_minus_sign": true,
// アラビア数字の桁数は2桁まで (false: チェックしない)
"max_arabic_numeral_digits": 5
},
"common-misspellings": {
// Misspellings to be ignored (case-insensitive)
"ignore": []
},
"max-ten": {
"max" : 3
},
"no-doubled-conjunctive-particle-ga": true,
"no-dropping-the-ra": true
}
}
Convert Width
半角文字と全角文字を変換する拡張機能ですが、実のところあんまり使っていません。ただ、小説など縦書きにする可能性のある文章を書いているときは入れておいた方がよいでしょう。
Format Novel
小説のフォーマットに合わせた変換をしてくれるツールです。
(1) 行頭に全角スペースを挿入します。ただし、下記と一致する行を除きます。
鉤括弧(「、『)で始まる行
Markdownの見出し記号(#)で始まる行
既に全角スペースが挿入されている行
空行
(2) 全角の感嘆符(!)、疑問符(?)のあとに全角スペースを挿入します。ただし、下記と一致する場合を除きます。直後が感嘆符(!)、疑問符(?)、鉤括弧(」、』)、半角スペースの場合
既に全角スペースが挿入されている場合
これらの設定はtextlintで引っかかるようにしてあるので、大体手で直されてしまっていてこれを使う事はまれなのですが……。
Re:VIEW
技術書を書く人ならお馴染みのRe:VIEW用のシンタックスハイライトをしてくれる拡張機能です。
いろいろ機能はあるのですが、まだまだ対応していない書式もあるのでそこはエラーが出ていても気にしないのがよいと思います。
私がしている設定
続いて設定です。これを設定しておくとけっこう楽になります。
自動保存
files.autoSave
をOnにすると書きかけのファイルを自動保存してくれます。
また、files.autoSaveDelay
で何ミリ秒間隔で保存するかを選べますが、私は5000ミリ秒、つまり5秒に1回の保存にしています。
こうすることで、書きかけのドキュメントが飛ぶという事態を避けられます。
Git設定
テキストファイルなら、プレーンテキストであれMarkdownであれRe:VIEW形式であれ使ってしまった方が楽だと思います。
こうすることで、書きまちがえても直せたり、他のPCなどで作業を共有することも可能になってきます。
ただし、書きかけの文章が見られて困る場合は非公開設定を忘れずに。
行の折り返し
editor.wordWrap
は bounded
とし、editor.rulers
は80文字で設定してあります。
おまけに、 editor.wrappingIndent
は none
にする事で、インデントをしないように設定してあります。
終わりに
これらの拡張機能と設定を駆使して、よい物書きライフを送ってください。
-
年末のコミックマーケット97では「月曜南ホ18b」で参加していますが新刊はありません。落としました。 ↩