espanso + VSCodeで置換動作がおかしい件の解決方法
なにかが干渉している
テキスト入力におけるパワフルツール、espansoを日々いくつもの環境で愛用しています。それがいつ頃からか、Visual Studio Code (以下VSCode) 上で妙な挙動をするようになり悲しかったのですが、念願叶って解決できたのでメモです。
- espanso公式サイト: Espanso - A Privacy-first, Cross-platform Text Expander
妙な挙動とは、「:espanso
」が「Hi there!」ではなく「:espansoH」に、「:date
」が「2024-04-30」ではなく「:date2024-」に置換されるような挙動です。発生条件はこの3つが重なっているときのような感じです。
- UbuntuまたはmacOS上のVSCodeで (Windowsでは未確認)
- 拡張機能「Markdown All in One」を導入していて
- markdownファイルを編集している時?
解決方法
espansoがすでに動作中の環境にて。
- VSCodeのエディタ画面のどこかで「
#detect#
」と入力する - espansoのウィンドウが現れ、アプリケーション情報が表示される
- Ubuntuの場合:
title: '● 2024-04-30.md - content - Visual Studio Code' exec: '/usr/share/code/code' class: 'Code'
- macOSの場合:
title: '2024-04-30.md — content' exec: '/Applications/Visual Studio Code.app' class: 'com.microsoft.VSCode'
- Ubuntuの場合:
- コマンドライン上で
espanso path
を実行して設定ファイルのpathを確認する (以降の$CONFIG
に当てはめる) - espansoの設定ファイル
$CONFIG/config/vscode.yml
を新規作成して次の内容を保存する。内容は、VSCodeをclassで指定し、espansoのbackendの動作モードをVSCodeの上では (デフォルトの「auto」ではなく) 「clipboard」にせよ、というもの。当環境ではOS間で設定ファイルを共有しているので各OSでのVSCodeのclassをOR指定している# VSCode (Ubuntu, macOS) filter_class: "^Code$|^com.microsoft.VSCode$" backend: clipboard
- espansoが設定ファイルを自動的に再読み込みする
- VSCodeのエディタ画面で「
:date
」を入力すると意図通り「2024-04-30」に置換されることを確認する