happiness (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) (^_^) happiness

VSCodeの拡張機能を作るときにCannot find module 'vscode'となった

参考記事:かんたん!VS Code拡張機能開発 | DevelopersIO

vimのwinresizerのVSCode版でも作ろうかという気持ちで、作る。

環境

手順

コードgeneratorをインストールする

npm install -g  yo genarete-code

雛形作成する

yo code

TypeScriptで、あとはデフォルトyarnを選択。

cd <project name>

code ./

VSCode上で試しに実行する

写真の下側のRunExtensionをクリックすると、別windowが開いて、デバッグできる。 (左のサイドバーのデバッグアイコンを押してもよい)

type error

エラー無視しても大丈夫らしいが、その前にエラーをみる

エラー見る

モジュール 'vscode' またはそれに対応する型宣言が見つかりません。

yarn add @types/vscode --dev

でもだめっぽい。

うざいので、とりあえずignoreする。

// @ts-ignore
import * as vscode from 'vscode';

command + shift + Pでコマンド探しモードに入り、helloと入力すると初期のコマンド出てくる。

hello world command exists in vscode prompt

実行すると下記エラーが出た。

Activating extension 'undefined_publisher.vscode-winresizer' failed: Cannot find module '/Users/user/dev/2024/products/vscode-winresizer/out/extension.js'
Require stack:
- /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/loader.js
- /Applications/Visual Studio Code.app/Contents/Resources/app/out/bootstrap-amd.js
- /Applications/Visual Studio Code.app/Contents/Resources/app/out/bootstrap-fork.js.

コンパイルしていないので、out/ソースコードがないため発生しているっぽい?

トランスパイル実行コマンドは、packge.jsonに載っていると思うので、見ると、vscode:prepublishすると良さそうなので、実行する。

yarn run vscode:prepublish

エラー

moduleがないよというエラーが出る。

yarn run vscode:prepublish
src/extension.ts:3:25 - error TS2307: Cannot find module 'vscode' or its corresponding type declarations.

3 import * as vscode from 'vscode';
                          ~~~~~~~~

src/test/extension.test.ts:1:25 - error TS2307: Cannot find module 'assert' or its corresponding type declarations.

1 import * as assert from 'assert';
                          ~~~~~~~~

src/test/extension.test.ts:5:25 - error TS2307: Cannot find module 'vscode' or its corresponding type declarations.

5 import * as vscode from 'vscode';
                          ~~~~~~~~

src/test/extension.test.ts:8:1 - error TS2582: Cannot find name 'suite'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.

8 suite('Extension Test Suite', () => {
  ~~~~~

src/test/extension.test.ts:11:2 - error TS2582: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`.

11  test('Sample test', () => {
    ~~~~


Found 5 errors in 2 files.

Errors  Files
     1  src/extension.ts:3
     4  src/test/extension.test.ts:1
u

面倒くさいなと思ったのでissueを確認

github.com

同じ目に合っている人がいた。

というわけで、rmして、npmを使うようにしたら治った。

vscodeを再起動して、ちゃんとproject入り直し、デバッグアイコンから拡張機能開発ホストを起動した。

hello world

「物を捨てて新しい物を買う余地を生む」ハックについての感想

最近は先にものを捨てることによって、新しいものを買う意欲を掻き立てるライフハックを試した。

結論から言うと、3パターンの考え方が生まれた。

  1. 必要に迫られたら買う
  2. 代替品を使うことになる
  3. 例マフラ捨てたらB-boyが被ってそうな貫通してるタイプの薄い生地のニット帽を首に巻き始める
  4. たまに思い出して残しておいても良かったか?と思う
    • 近場で売ってないもの
    • 入手が困難なもの(季節ものや販売終了など)
    • 思ったより高かったもの(今となっては)

ってことで、こういった安直な簡易ハックにはトレードオフがつきもの。

プロトタイピングしたあとは、きちんと設計してから実運用していきましょう。

備考

考え方を書き換えるのが一変更が少なく、試したいことを試せるので良い。

今回は、「ものを捨てるのはもったいない」という部分を、「買い替えたいものを捨てる」に雑に変更してみた。

それによって、この考え方に依存していた下記の機能に影響が出た。

  1. レアなものを保存せんとするメソッドが壊れた
  2. あるもので済ませようとするメソッドが先に発動するので、新しいものは買わない
  3. 必要かどうかの真偽値を返すメソッドによるバリデーションは、所持に関係なく働くので、新しいものを買わない

レガシーシステムの従来の利点を残しつつ、現状分析をして臨機応変に対応していきましょう。

急にアニメなどを観る意欲が減少した現象

終わりかけると展開がわかってしまって観る気が失せる気もするし、

現実の人間関係が充実しているがために、仮想的な人に関わる必要がなくなったからのような気もする。

自分の内部状態が変化し、観ようと思う意欲が減ったのかもしれない。

春になったので、活動に対しての意欲が増すようなスイッチが入ったのかもしれない。

視聴することによって、他者の経験を追体験しようというフェーズが終わったような感覚もある。

読書に関しても、2か月前は、学術的な本を一日一冊は読もうというように思えていたが、再び今ひとつ読む気が失せるフェーズに突入した。

これは、仕事が始まって、割けるメンタルリソースの配分が変化しているからのような気もする。

あと一ヶ月くらいはバランス調整のような期間があるんだろうなと思った。

一見何もしていないような気もするが、内部では色々やっているような気もする。

毎度のことながらアジャイルなオートマチック開発をしているような感覚。

約3年ぶりに100均で買ったスマホカバーを変えた

2021/05/22にiPhoneSE第三世代を買った。

2021/05末頃買ったもの

smart phone cover old

2024-04-06 買った

smart phone cover new

素材は、

  • 本体周囲:TPU
  • 本体背面部:ポリカーボネード

感想

3年経過すると結構色変わるなぁ。

使ってみての感想

使用一日目だが、指紋が目立つ。

次は指紋つきにくい素材、皮脂や水滴に強い素材を選定したいと思った。

呪物市行ったよメモ

最終日の17時過ぎに訪れたので、割と売られたものも多そうだった。

基本ガチで販売してて、ほんまに売ってるんやと思った。

25000円の亀の甲羅で作られたチベット密教の仮面が印象的だった。

安くない???

活用法わからんかった&色々収集してしまいそうなので買わなかった。

sculptors.jp

【ゲームメモ】OLDTV

Steam

本体

store.steampowered.com

DLC

DLC出てるのを今日始めて知った...。買います。

store.steampowered.com

トレーラー

www.youtube.com

雑感

2017年くらいに無料ということで入手して一瞬ハマった。

最近これがストループテストの要素を取り入れたゲームだということが判明した。

ある目的を実行するため に注意や行動を適切に制御する機能(実行機能)の評価に用いられる

ということで、脳トレになりそうと思った。

脳トレ云々はともかく、音楽がめちゃくちゃ好み。

youtubeサウンドトラックもあるというすごさ。

www.youtube.com