79
59

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2018-04-14

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

79
59
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
79
59

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?