Help us understand the problem. What is going on with this article?

小説家のためのVisual Studio Code 拡張機能を作成しました

More than 1 year has passed since last update.

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で、快適な執筆ライフを。

8amjp
福井市に住むSE・プログラマ。Kindleストアで技術系異世界ファンタジー小説「Redmineで始める異世界人心掌握術」販売中。JavaScript学園コメディ「恋に落ちるコード.js」電子書籍化準備中。
https://8am.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした