Corredor

ウェブ、プログラミングの勉強メモ。

VSCode の markdown.styles にローカルファイルをフルパス指定できなくなっていた

VSCode の設定 (settings.json) に、markdown.styles という項目がある。これまではココに以下のように記述すると、Markdown のプレビュー表示時に好きなスタイルを当てられた。

// Windows の場合、Mac の場合、file: プロトコルを付けた場合、いずれも緩く参照できてたっぽい
{
  "markdown.styles": [
    "C:\\Documents\\MyVSCodeStyles.css",
    "file:///Users/me/MyVSCodeStyles.css"
  ]
}

しかし、最近のアップデートで、セキュリティ上の問題からローカルファイルをフルパスで指定する方法が禁止されたようだ。

Root cause: We now restrict the markdown preview to only loading resources inside the current workspace for security reasons. Workaround is to move the css file into your workspace or publish the css as a markdown extension

I'm hesitant to relax this again even though it is a regression because the old behavior could be abused by a malicious workspace

プロジェクトルートからの相対パスであれば参照できるようだ。つまり「ユーザ設定」ではなく「ワークスペースの設定」でやれ、ということのようだ。

公式のリファレンスでも「current workspace」での設定サンプルしかなく、いつの間にかこっそり改変されてた感がある…。

セキュリティ上の理由で仕方ないみたいだけど、使いづらくなってしまってつらい…。

はじめてのVisual Studio Code (I・O BOOKS)

はじめてのVisual Studio Code (I・O BOOKS)