ttrace / vscode-language-japanese-novel

Visual Studio Code で小説を執筆する時に使う言語拡張です。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

原稿プレビューでエラー

kagurazakarasen opened this issue · comments

VSCode
バージョン: 1.55.2 (user setup)
OS: Windows_NT x64 10.0.19041

novel-writer拡張バージョン:v0.3.0

で、UTF-8 テキストファイルを原稿プレビューしようとした際(プレビュー設定はデフォルトのまま)
2021-04-26_12h03_30
このようなエラーが発生して表示されません。

※Mac環境でも同様のエラーとなりました。

お手数ですが、エラーになる原稿のファイルをアップロードしていただけませんでしょうか。短くて構いません。

test.txt
本当に単純なテスト用のテキストファイルです。
※改行コードをCRとCRLFの両方でも試してみましたが同様のエラーでした。

こちらでは動いてしまいます。
エクステンションのバージョンを教えていただけませんか?

2021-04-28_05h27_42
Version 0.3.0 です。

もしも以前のバージョンを使っていたなら、settings を開き直してみてください。

v0.3.0では再現できなかったのですが、v0.4.0で試してみてください。

v0.4.0と、v0.4.3で試してみましたが、同様のエラーになります。(インストール後VSCode再起動済み)
また、PDF出力コマンドもためしてみましたが、同じエラーがでてくるようです。

なにか必要なライブラリなどが足りないのでしょうか?
2021-04-28_18h58_26

それは、たしかにライブラリが足りない感じですね。

私の手元でもプレビューでエラーが発生しました。エラーログは以下です。

[2021-04-28 20:33:10.248] [exthost] [error] TypeError: userregex.forEach is not a function
    at markUpHtml (/Users/moriyoshi/.vscode/extensions/taiyofujii.novel-writer-0.4.3/extension.js:124:15)
    at editorText (/Users/moriyoshi/.vscode/extensions/taiyofujii.novel-writer-0.4.3/extension.js:116:12)
    at getWebviewContent (/Users/moriyoshi/.vscode/extensions/taiyofujii.novel-writer-0.4.3/extension.js:156:18)
    at verticalpreview (/Users/moriyoshi/.vscode/extensions/taiyofujii.novel-writer-0.4.3/extension.js:34:26)
    at S._executeContributedCommand (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:86:106770)
    at S.$executeContributedCommand (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:86:107208)
    at u._doInvokeHandler (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:90:12794)
    at u._invokeHandler (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:90:12478)
    at u._receiveRequest (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:90:11145)
    at u._receiveOneMessage (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:90:9931)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:90:8032
    at _.fire (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:57:1836)
    at E.fire (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:65:15496)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:105:29750
    at _.fire (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:57:1836)
    at E.fire (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:65:15496)
    at t._receiveMessage (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:65:20754)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:65:17640
    at _.fire (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:57:1836)
    at acceptChunk (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:65:12861)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:65:12209
    at Socket.w (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/services/extensions/node/extensionHostProcess.js:105:13173)
    at Socket.emit (events.js:315:20)
    at addChunk (_stream_readable.js:295:12)
    at readableAddChunk (_stream_readable.js:271:9)
    at Socket.Readable.push (_stream_readable.js:212:10)
    at Pipe.onStreamRead (internal/stream_base_commons.js:186:23) Novel.vertical-preview

原因は、

https://github.com/ttrace/vscode-language-japanese-novel/blob/632e1dc/extension.js#L123

この行で取得している userregex という設定の値が settings.json にないと undefined となってしまうためです。

いったん settings.json に以下の設定を追加して回避しております。

    "Novel.preview.userregex": [],

ありがとうございます!
設定がない時でも適切に処理できるようにしておきます。

0.4.6 で配列が空の場合でも正しく処理できるようにしました。ありがとうございます!

0.4.6で無事に動作するようになりました。
お手数おかけいたしました。早速の対応ありがとうございます。