VS Code(Visual Studio Code)は、さくさく書けて、便利になるようにカスタマイズすることもできます。
今回、紹介するのは、Pythonを使うケース。
とはいえ、どんな場面で利用するのか?イメージしにくいかもしれません。
わたしがやっている事例をもとにまとめてみました。
VSCodeでPythonを使うには?
VS Code(Visual Studio Code)。
プログラミングや文章を書くアプリですが、カスタマイズができるのが特徴です。
・WordCounts(文字数のカウント)
・Japanese Language Pack(日本語化)
・Markdown All in One(マークダウン記法で書ける)
などなど。
本の目次表示が便利だという「Markdown Preview Enhanced 」は、見出し表示のCSSが崩れるので入れていません。
ブログを書いていると、この見出しにはこだわりますから。
またVS CodeではPythonも使うことができます。

事前にパソコンにインストールしておく必要があります。Python公式サイト
Macならターミナルを開いて、「python3 –version」と入力してみましょう。「Python3.9.6」のようにメッセージが帰ってくれば、Pythonはすでにインストールされているということです。

その後にVSCodeのカスタマイズでMicrosoftのPython拡張機能もインストールすれば、VSCodeのメニュー、ターミナルからPythonを使うことができるようになります。

今回は、Kindle本の見出しに自動処理で番号をふるというのをやってみました。
Pythonで見出し2に一括で番号をふる
たとえば、「見出し2」を使う場合に、マークダウン記法で書くと「##」と半角スペースだけで、「見出し2」を表示させることができます。このブログを書いているWordPress上でも同じことができます。
ちなみに「見出し1」は「#」と半角スペース。
すると、アウトラインでも見出し1、その下に見出し2として配列してくれるわけです。

ここでわかりやすくするために「見出し2」に番号をふりたいという場合、どうするか?
見出しのテキストに1つずつ番号をふるというのは、やってはいけません。
そんなことをしていたら、日が暮れてしまいます。(そこまでいかないでしょうけど)
ここでPythonの出番になります。先程、インストールしたPythonをVS Code上で使うことができます。
前提条件の準備
その前に前提条件を整理しておきましょう。
やり方はいろいろあるのでしょうが、わたしの場合は、本を書く場合には専用のフォルダを用意して、その中に1章、2章、3章と.mdファイルを入れた状態にしています。

で、VS Codeで原稿ファイルを開くときには、フォルダごと開くことで、ワークスペースとして表示できます。ファイルは別でも、1つのファイルのように操作ができるわけです。

Pythonの準備
次にPythonのプログラムコードを書きます。
メモアプリを使って、以下のPythonコードを書きます。
Pythonコード(見出し2に番号をつける)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# 見出し2に番号をつける import os # 現在のディレクトリにある .md ファイルを抽出(先頭が数字のもの) md_files = sorted([f for f in os.listdir() if f.endswith('.md') and f[0:2].isdigit()]) for md_file in md_files: with open(md_file, 'r', encoding='utf-8') as f: lines = f.readlines() new_lines = [] counter = 1 for line in lines: if line.startswith('## '): # H2 の見出しだけ処理 line = f'## {counter}. {line[3:].strip()}\n' counter += 1 new_lines.append(line) with open(md_file, 'w', encoding='utf-8') as f: f.writelines(new_lines) |
まぁ、このあたりはChatGPTにも聞いてもらえば大丈夫かと。
そのファイルを最後に「.py」と名前をつけて保存し、その後、ファイルをクリックし、「名称変更」で「.txt」などを削除して、Pythonファイルに形式変更します。
そのメモを先程のフォルダに入れましょう。

すると、VS Code上にも同じファイルが表示されます。

これで準備は完了。
あとは、VS Codeのメニューからターミナル選んで、

ターミナルの画面を表示させたうえで、「Python3・スペース・ファイルのパス」でPythonを実行してみましょう。なお、ファイルのパスは、先程のVS Codeに表示されたファイルを右クリックすれば、コピーできます。それをPython3(スペース)のあとに貼り付ければいいのです。

見出し2を確認してみると、番号が連番でふられているのがわかります。一瞬です。

ただ、もっと素早くやる方法もあります。
VSCodeに表示されたPythonファイルを右クリックして、「一番下のターミナルでPythonファイルを実行する」を選んでもできます。毎回ターミナルを表示させる必要もないので、こっちのほうが手間はかからないかと。

Pythonで一瞬で番号を消す
一度番号をふったものの、あとで番号を入れ替えたいということもあるでしょう。
その場合も見出し2を1つずつクリックして、訂正するというのはやってはいけません。これも先程と同じようにPythonを使って一瞬で終わらせましょう。
Pythonコード(見出し2の番号をはずす)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# 見出し2の番号をはずす import os import re # カレントディレクトリ内の .md ファイルのうち、先頭が数字のファイルだけを対象にする md_files = sorted([f for f in os.listdir() if f.endswith('.md') and f[:2].isdigit()]) for md_file in md_files: with open(md_file, 'r', encoding='utf-8') as f: lines = f.readlines() new_lines = [] for line in lines: # ## の後に数字+ピリオド+スペースがあれば除去(例:## 1. 見出し) new_line = re.sub(r'^(## )\d+\.\s+', r'\1', line) new_lines.append(new_line) with open(md_file, 'w', encoding='utf-8') as f: f.writelines(new_lines) |
このコードをメモアプリに貼り付けて、Pythonファイル形式で保存。(やり方は先程と同じ)
同じようにVS Codeのフォルダに入れておき、VS Codeに表示されたのを確認にして、

右クリックして、「ターミナルで…」をクリックすると、

見出し2の番号は、すべて消えます。やはり一瞬で。

一度、番号付けしたけどあとで見直すこともあるでしょう。毎回見出しを触ってなんていられません。
Pythonで自動処理すれば、こわくありません。
ということで、Pythonを使うと、VS Codeもより使いやすくなります。
VS Codeを使って、コードや本を書かれる方には、参考にしていただければ。
【編集後記】
昨日はオフ。長男(10)の運動会を見に小学校へ。
雨が降りそうな天気だったこともあり、
早めにプログラムがすすんでよかったです。
帰ってきてからは、執筆。
Kindle本の原稿のチェックをして、
EPUBファイルにしようと思ったら、
エラーが出たり、CSSを見直す必要があり、
てこずりましたが、夜になんとか審査に出せました。
【昨日の1日1新】
※「1日1新」→詳細はコチラ
Afternoon Tea スイートフルーツティー
ファミマ クッキー&クリームシュー
Kindleダイレクト・パブリッシング(KDP)
Kindle Previewer
でんでんコンバーター
EPUBファイル