2025/11/02(日) [n年前の日記]
#1 [prog] Visual Studio Code に拡張をいくつかインストールした
Visual Studio Code(vscode)でPythonスクリプトを書いていたけれど、ちょっと編集が面倒だなと思う瞬間があったので、楽になりそうな拡張を探してインストールしてみた。
環境は Windows11 x64 25H2 + Visual Studio Code 1.105.1。
環境は Windows11 x64 25H2 + Visual Studio Code 1.105.1。
◎ 連番文字列を挿入したい :
連番の文字列を挿入したい。良い方法は無いものか。
Insert Sequence という拡張を使うとできるらしい。インストールしてみた。
_Visual Studio Code - マルチカーソルで連番を簡単に入力できる拡張機能|株式会社アンタイプ
_【VSCode】時短VSCode術!複数行にわたって連番を入れたい 初心者エンジニア - Qiita
_Insert Sequence - Visual Studio Marketplace
_Insert Sequences - Visual Studio Marketplace
最初は Insert Sequence 1.0.7 を試したけれど、Insert Sequences 0.10.1 (最後にsがついてる)も似た感じで使えた。後者のほうが機能豊富な印象を受けた。また、後者はショートカットキーも割り振られていて、Ctrl + Alt + . を叩けば呼び出せた。
Insert Sequence という拡張を使うとできるらしい。インストールしてみた。
_Visual Studio Code - マルチカーソルで連番を簡単に入力できる拡張機能|株式会社アンタイプ
_【VSCode】時短VSCode術!複数行にわたって連番を入れたい 初心者エンジニア - Qiita
_Insert Sequence - Visual Studio Marketplace
_Insert Sequences - Visual Studio Marketplace
- vscodeのマルチカーソル機能を使って、入力場所をあらかじめ複数指定してから、Ctrl + Shift + P でコマンドパレットを出して「seq」とでも打ち込めばコマンドが出てくる。選んで Enter を叩けば連番が入る。
- 直後は文字入力欄も表示されているので、例えば0埋めした4桁連番を入れたいなら「0001」と打てばいい。
- 英文字にも対応していて、「a」と打てば、a,b,c,d,e,f,〜 を入れてくれる。
最初は Insert Sequence 1.0.7 を試したけれど、Insert Sequences 0.10.1 (最後にsがついてる)も似た感じで使えた。後者のほうが機能豊富な印象を受けた。また、後者はショートカットキーも割り振られていて、Ctrl + Alt + . を叩けば呼び出せた。
◎ キーボードマクロを使いたい :
キーボードマクロを使いたい。一連のキー操作を記録しておいて、再生キーを叩けばそのキー操作が再現される、といった機能。
_VSCodeでキーボードマクロを使いたい VSCode - Qiita
_Keyboard Macro Beta - Visual Studio Marketplace
Keyboard Macro Beta 0.14.8 をインストールしてみた。
ただ、自分が普段使っている xyzzy というエディタ上では Dynamic Macro を頻繁に使っていて…。これはキー操作の繰り返しを自動で検出して、特に記録等しなくても単に再生キーを叩くだけで、今まで繰り返していたキー操作を再生してくれる。「さて、キー操作を記録しなきゃ…」などと意識しなくて済むし、「アレ? この操作さっきから何度も繰り返してるな?」と気づいたら再生キーを押すだけで済むので便利。
ググってみたら vscode用の Dynamic Macro もあるらしい。
_Dynamic Macro - Visual Studio Marketplace
_tshino/vscode-dynamic-macro: VS CodeでDynamic Macroという機能を実現する拡張機能です
_自動補完の未来: 操作の補完 dmacro への招待
_Dynamic Macro - 増井俊之
Dynamic Macro 0.1.0 をインストールしてみた。たしかに使えるようになった。ありがたや。
しかし、動作して喜んでいたのだけど、この Dynamic Macro を有効にすると vscode上でシンボルの名前変更ができなくなることに気づいた…。必ずできなくなるわけではなくて、できたりできなくなったりするというか…。ESCキーで入力欄を閉じることもできない…。発生する条件が分からない。ただ、この拡張を無効にすると、シンボルの名前変更は問題無く動作する。これはちょっと厳しい。仕方ないので無効にしておくことにした。
_VSCodeでキーボードマクロを使いたい VSCode - Qiita
_Keyboard Macro Beta - Visual Studio Marketplace
Keyboard Macro Beta 0.14.8 をインストールしてみた。
- Ctrl + Alt + R で記録開始。
- Ctrl + Alt + R で記録終了。
- Ctrl + Alt + P で再生。
ただ、自分が普段使っている xyzzy というエディタ上では Dynamic Macro を頻繁に使っていて…。これはキー操作の繰り返しを自動で検出して、特に記録等しなくても単に再生キーを叩くだけで、今まで繰り返していたキー操作を再生してくれる。「さて、キー操作を記録しなきゃ…」などと意識しなくて済むし、「アレ? この操作さっきから何度も繰り返してるな?」と気づいたら再生キーを押すだけで済むので便利。
ググってみたら vscode用の Dynamic Macro もあるらしい。
_Dynamic Macro - Visual Studio Marketplace
_tshino/vscode-dynamic-macro: VS CodeでDynamic Macroという機能を実現する拡張機能です
_自動補完の未来: 操作の補完 dmacro への招待
_Dynamic Macro - 増井俊之
Dynamic Macro 0.1.0 をインストールしてみた。たしかに使えるようになった。ありがたや。
- 動作には Keyboard Macro Beta が必要。
- デフォルトでは Ctrl + Alt + L にリピートキー(再生キー)が割り当てられている。
しかし、動作して喜んでいたのだけど、この Dynamic Macro を有効にすると vscode上でシンボルの名前変更ができなくなることに気づいた…。必ずできなくなるわけではなくて、できたりできなくなったりするというか…。ESCキーで入力欄を閉じることもできない…。発生する条件が分からない。ただ、この拡張を無効にすると、シンボルの名前変更は問題無く動作する。これはちょっと厳しい。仕方ないので無効にしておくことにした。
[ ツッコむ ]
#2 [cg_tools][prog] 画像ファイルを複数のサイズで縮小したい
親父さんがWebサイトを更新する際、複数のサイズで画像を縮小しているようなのだけど、その都度GUIアプリ上のサイズ指定を打ち込み直しているのが気になった。複数のサイズで一気に縮小画像を生成してくれるツールは無いのだろうか。
ググってみたけれど、ちょっと見当たらない…。プリセットを複数保存できるツールはあるようだけど…。
とりあえず、Windowsのbatファイルでできるんじゃないかと試してみた。縮小画像の生成自体は ImageMagick を使う。
環境は Windows11 x64 25H2 + ImageMagick 7.1.2-8 portable Q16 HDRI x64。
以下のような感じになった。
_resize_image_files.bat
ImageMagick に渡すオプションは以下を参考にさせてもらった。ありがたや。
_ImageMagick の画像リサイズArtifact対策 Resize - Qiita
問題は、このbatファイルを親父さんに渡しても使えるのかどうか…。ショートカットファイルにドラッグアンドドロップするだけで使えるはずだけど、歳が歳だから新しい操作手順を覚えられないようで…。それどころか今まで行っていた操作手順もどんどん忘れているし…。
ググってみたけれど、ちょっと見当たらない…。プリセットを複数保存できるツールはあるようだけど…。
とりあえず、Windowsのbatファイルでできるんじゃないかと試してみた。縮小画像の生成自体は ImageMagick を使う。
環境は Windows11 x64 25H2 + ImageMagick 7.1.2-8 portable Q16 HDRI x64。
以下のような感じになった。
- エクスプローラから複数の画像ファイルをbatファイルのショートカットファイルにドラッグアンドドロップすれば、720ドット、1000ドット、2つの縮小画像を生成する。
- 縮小画像は、*_720.jpg、*_1000.jpg になる。
_resize_image_files.bat
@echo off @rem 複数の画像ファイルをドラッグアンドドロップで渡して複数の縮小画像を作成する。 @rem Imagemagick 7.x.x (magick.exe) を利用して縮小画像を作っている。 chcp 65001 > NUL setlocal enabledelayedexpansion @rem ImageMagick 7.x.x にパスを通す。常にパスを通してあるなら不要 set PATH=%IM7_PATH%;%PATH% @rem set MAGICKOPTA=-filter Lanczos -define filter:blur=.9891028367558475 -distort Resize @rem set MAGICKOPTB=-quality 90 set MAGICKOPTA=-colorspace RGB -filter Lanczos -define filter:blur=.9891028367558475 -distort Resize set MAGICKOPTB=-colorspace sRGB -quality 90 echo 縮小画像を作成します。 echo. for %%F in (%*) do ( echo 元画像 : %%F magick %%F %MAGICKOPTA% 720x720 %MAGICKOPTB% "%%~dpF%%~nF_720.jpg" echo 縮小画像 %%~nF_720.jpg を作成しました。 magick %%F %MAGICKOPTA% 1000x1000 %MAGICKOPTB% "%%~dpF%%~nF_1000.jpg" echo 縮小画像 %%~nF_1000.jpg を作成しました。 ) echo. echo --- 処理が終わりました。何かキーを押してください。 --- pause endlocal
- %* で、batファイルに渡された複数ファイルのパス群を、空白区切りの1つの文字列にしてくれるらしい。
- for %%F in (%*) do ( ) で1ファイルずつ処理ができる。ファイルパスは %%F に入っていく。
- %%~dpF で、ドライブ文字とディレクトリパスを取得できる。最後にディレクトリ区切り文字(\)が入る。
- %%~nF で、拡張子を除いたファイル名が得られる。
- chcp 65001 でコードページ/文字コードをUTF-8に変更。SJIS にしたい時は chcp 932。
- chcp 65001 > NUL とすれば現在のコードページ表示をしないようにできる。
- pause でキー入力待ちになる。
ImageMagick に渡すオプションは以下を参考にさせてもらった。ありがたや。
_ImageMagick の画像リサイズArtifact対策 Resize - Qiita
問題は、このbatファイルを親父さんに渡しても使えるのかどうか…。ショートカットファイルにドラッグアンドドロップするだけで使えるはずだけど、歳が歳だから新しい操作手順を覚えられないようで…。それどころか今まで行っていた操作手順もどんどん忘れているし…。
[ ツッコむ ]
#3 [cg_tools] ImageMagickの現行版をインストールした
Windows11 x64 25H2上で ImageMagick 現行版、7.1.2-8 portable Q16 HDRI x64 をインストールした。ImageMagick-7.1.2-8-portable-Q16-HDRI-x64.7z を入手して解凍。D:\Prog\ImageMagick-7.1.2-8-portable-Q16-HDRI-x64\ にインストール。
◎ convert.exeが無くなっていた :
convert.exe が入っていない…。今まで利用していた ImageMagick 7.1.1-26 portable Q16 HDRI x64 には入っていたのだけどなあ…。
ImageMagick 6.x.x までは convert.exe を使って画像変換処理等をしていたのだけど、ImageMagick 7.x.x は magick.exe というプログラムを使って convert.exe と同様の処理ができるように変更されていた。おそらくだけど Windows にデフォルトでインストールされている convert.exe と名前が同じでよろしくないから改善を試みたのかなと…。
そもそも convert というワードは何にでも使えてしまうので、ファイル名やコマンド名としてそのまま使うのはよろしくないとは思う。ImageMagick も Microsoft もどっちもおかしい。
ただ、古い版との互換性を考えて、ある時期までは convert.exe も同梱されていたのだろう。しかしそろそろ入れなくてもいいんじゃねと判断したということかな…。分からんけど…。
_ImageMagick の歴史メモ #history - Qiita
上記の記事によると、7.1.1-33 から convert を使うと警告が出るようになったのだとか。
ImageMagick 6.x.x までは convert.exe を使って画像変換処理等をしていたのだけど、ImageMagick 7.x.x は magick.exe というプログラムを使って convert.exe と同様の処理ができるように変更されていた。おそらくだけど Windows にデフォルトでインストールされている convert.exe と名前が同じでよろしくないから改善を試みたのかなと…。
そもそも convert というワードは何にでも使えてしまうので、ファイル名やコマンド名としてそのまま使うのはよろしくないとは思う。ImageMagick も Microsoft もどっちもおかしい。
ただ、古い版との互換性を考えて、ある時期までは convert.exe も同梱されていたのだろう。しかしそろそろ入れなくてもいいんじゃねと判断したということかな…。分からんけど…。
_ImageMagick の歴史メモ #history - Qiita
上記の記事によると、7.1.1-33 から convert を使うと警告が出るようになったのだとか。
[ ツッコむ ]
以上、1 日分です。