Visual Studio Code で小説を執筆してGitHubで公開している8amjpです。
Visual Studio Code、いいですよねー。私は開発にも執筆にもこのエディタを愛用しております。
LinuxでもMacでもWindowsでも動作し、GitHubとの連携もスムーズで、万人にオススメしたい快適なエディタですよ。
ただ、元々プログラム開発のためのエディタなので、小説、特に日本語での小説の執筆に便利な機能は、標準では搭載されていません(そりゃそうだ)。
というわけで、執筆をもっと快適にする拡張機能、自分で作成してみました。
FormatNovel
小説のルールに基づき文書を整形する、Visual Studio Codeの機能拡張です。
https://github.com/8amjp/vsce-formatnovel
使い方
Format Novel
コマンドを実行すると、下記のルールに基づき文書をフォーマットします。
(1) 行頭に全角スペースを挿入します。
ただし、下記と一致する行を除きます。
- 鉤括弧(「、『)で始まる行
- Markdownの見出し記号(#)で始まる行
- 既に全角スペースが挿入されている行
- 空行
(2) 全角の感嘆符(!)、疑問符(?)のあとに全角スペースを挿入します。
ただし、下記と一致する場合を除きます。
- 直後が感嘆符(!)、疑問符(?)、鉤括弧(」、』)の場合
- 既に全角スペースが挿入されている場合
コマンドは、コマンドパレットを開いて(Ctrl+Shift+P)入力する他に、
エディタ内で右クリックして表示されるコンテクストメニューから実行することもできます。
また、コマンドが有効になるのは、言語モードがMarkdown形式またはプレーンテキスト形式の場合のみです。
使用例
Before
「ちょっとレヴィ!何やってんの!?」
紅子が叫ぶ。
After
「ちょっとレヴィ! 何やってんの!?」
紅子が叫ぶ。
全角スペースの挿入って、けっこう面倒だったりするんですけど、今後はコマンド一発で解決です。
CharacterCount
文字数をリアルタイムでカウントする、Visual Studio Codeの拡張機能です。
https://github.com/8amjp/vsce-charactercount
使い方
下記の文字を除外した文字数をカウントし、ステータスバーに表示します。
- すべての空白文字(全角/半角スペース、改行、タブ)
- ルビ範囲指定記号(《》)とその中の文字
- ルビ開始記号(「|」、「|」)
マイクロソフトが公開しているサンプルをベースにして、改良を加えております。
また、文字数カウント機能が有効になるのは、Markdown形式またはプレーンテキスト形式のファイルを開いた時のみです。
使用例
|瀬尾絵子《せのおえこ》
ルビ開始記号とルビ文字が除外され、「4文字」とカウントされます。
ConvertWidth
半角文字と全角文字を相互に変換する、Visual Studio Codeの機能拡張です。
https://github.com/8amjp/vsce-convertwidth
使い方
次の文字を相互に変換します。
- 半角英字(A-Z)、アンド(&)、カンマ(,)、ピリオド(.) <-> 全角英字(A-Z)、アンド(&)、カンマ(,)、ピリオド(.)
- 半角数字(0-9) <-> 全角数字(0-9)
- 半角の感嘆符(!)、疑問符(?) <-> 全角の感嘆符(!)、疑問符(?)
拡張機能のインストール方法
Marketplaceで公開されています。
「拡張機能」サイドバーを表示し、'8amjp'などと検索してインストールしてください。
FormatNovel
https://marketplace.visualstudio.com/items?itemName=8amjp.formatnovel
CharacterCount
https://marketplace.visualstudio.com/items?itemName=8amjp.charactercount
ConvertWidth
https://marketplace.visualstudio.com/items?itemName=8amjp.convertwidth
いかがでしょうか?
あなたもVisual Studio Codeで、快適な執筆ライフを。