Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nodeのfsモジュールをvscode APIのFileSystemに置き換えたい #18

Open
takahashim opened this issue May 27, 2021 · 4 comments

Comments

@takahashim
Copy link
Contributor

この拡張では以下のようにNodeのfsモジュールを使っていますが、

import * as fs from 'fs';

vscodeではvscode自体が用意しているFileSystem APIを使うほうが良いそうです(どうもSSHやWSL remote file systemsで動かす時の移植性の問題のようです)。

https://code.visualstudio.com/updates/v1_37#_vscodeworkspacefs

Call to Action: If your extension is currently using the fs module from Node.js, consider migrating to the new vscode.workspace.fs API.

async/awaitが前提のようなのでちょっと使い方が面倒かもしれません…(私も詳しくなくて、「functionの前にasyncを付けて、関数呼び出しの前にawaitをつけると動くっぽい」程度の理解です)。

参考資料:

@takahashim
Copy link
Contributor Author

あとでPRを作ってみる予定です

@ttrace
Copy link
Owner

ttrace commented May 27, 2021

わわわ、これは面倒そうですね。非同期前提ですか。

@takahashim
Copy link
Contributor Author

今どきのTypeScriptは非同期前提なので…というのに加えて、例えばそれなりに大きなファイルを読み込んでいる間はエディタが固まる、みたいなことが起きると非常に体験が良くないというのもありそうです。

extension.tsについては #19 で修正してみました。ご確認いただければ。

@ttrace
Copy link
Owner

ttrace commented May 29, 2021

ありがとうございます。なるほど、と思うことしきり。
これからは仮想環境で動かすこともあるでしょうから(spacesみたいに)、VS Code APIを使えというのは正しいやり方ですね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants