NISHIO Hirokazu[Translate]
シン・文芸的プログラミングを少し考えた
今VSCodeでプログラム書いてて、
Scrapboxにはたしかに今のプログラム環境にない良い機能がある
行リンクとか
でもプログラム環境の方にブラウザ上でScrapbox環境にない機能がどっさりある
型チェック
補完
GitHub Copilot
定義へのジャンプ
シンボルジャンプ
同ファイル内のシンボルに飛ぶ
markdownでいうと # 見出し とか
開発サーバの自動リロード
自動テスト
Gitでバージョン管理
リポジトリにpushしたら自動デプロイ
まともに実装できるのはformatterとLSPなし補完くらいだろうなあtakker
なので開発環境をScrapboxの側に移すよりもScrapboxの機能をVSCodeの側に持ってくる方が素直
+1sta
それって要するに
VSCodeというエディタの拡張としてローカルファイルシステムで動くWiki
な訳で、それって
Emacsというエディタの拡張としてローカルファイルシステムで動くWiki
であるhowmのリバイバルなのでは?となった
Vimだとkuuoteさんが作ってた
ここに書いたのはゴールデンウィークの間に作るかもしれないし作らないかもしれない的な気持ち
大体のプログラミング言語に複数行コメントの機能はある
ので、そこにScrapbox的なリンクを書けるようにする
インターネットがなくてもオフラインで編集できて、オンラインになったときにgit pushする
VSCodeの拡張の作り方、何も知らない
「もうVSCode用のhowmがあるよ」って可能性があるので調べる
>Howm の ActionLock って便利だったよね
一部機能だけある
howmみたいにショートカットキーで「今日の日時のページ」を開く
vscode-wikiなるものはあるkuuote
docstringがWikiになる的なものかinajob
emacsだとマイナーモードみたいなので既存のモードを組み合わせて実装できそう(よくしらんが)inajob
継続的ドキュメンテーションの概念もヒントになるかもsta

今できることとしてVSCodeを拡張するのは良いと思うけど、シン・文芸的プログラミングの理想形がどんな形なのかは気になるyosider

---
シン・文芸的プログラミングを少し考えたの件、とりあえずHello world的拡張を作って「VSCodeの拡張を作ったことがある」実績解除をやろうと思ったnishio
Hello worldはできた
Cmd+Rでリロードできる、ウェブアプリを開発してる気分

---

読解
100秒に1回、下線を引くかなどのテキストデコレーションを更新し、その時にカーソルがrangeの中にいるかどうかを判定している
rangeは正規表現で定義されてる
rangeの中にいる時にEnterを押すとコマンドが実行される
というような話をVSCodeかScrapboxでコードともっと一体感を持って書けるといいな
VSCodeでは今はできないのだからScrapboxでやるか
やってみたらソースコードだけ貼られてるページができちゃったなー
これ、今は3ファイルくらいで済んでるけど、もっと多い場合にはソースファイルごとにページが分かれてた方がいいんだろうか…
[/foo/bar] 的な文字列の上でエンターしたらScrapboxの該当ページにジャンプするくらいなら簡単に出来そう??
[foo] の上でEnterした時に何が起こるとよいのか?
Scrapboxはページの冒頭に暗黙のジャンプターゲットがある
fooリンクのクリックはfooページ冒頭のジャンプターゲットへのジャンプになる
VSCodeでの各ソースコードは、ファイル名は持ってるけど、Scrapbox的な意味での人間に向けたタイトルは持ってない
ジャンプターゲットを作る記法が必要?
come-fromリンクみたいに、ページの中の任意の位置にジャンプターゲットを作り出す
例えばソースコードのActionLock#626e5273aff09e00009a8e85のところに [< カーソルがrangeの中にいるかどうかを判定] と書くと [カーソルがrangeの中にいるかどうかを判定] でEnterした時にその位置にジャンプする、とか
これでできるのかな
直接ジャンプできなくても「その文字列でシンボルサーチ」ってやれば2ホップで辿り着ける
それだとブラケットの中にファイル名などを入れても機能するはず


"Engineer's way of creating knowledge" the English version of my book is now available on [Engineer's way of creating knowledge]

(C)NISHIO Hirokazu / Converted from [Scrapbox] at [Edit]