vscodeを使っているが、コンテキストメニューに「すべての参照を検索」という項目がある。
きっと、関数名を選択して実行すると、うまいことgrepして、呼び出し箇所の一覧を出してくれるに違いない!
そう思って実行するのだが、結果が見つからない、というようなことをいわれてしまう。
あの葡萄は酸っぱいんだ、そう思って忘れようとしていた。
が、放置していてもどうしようもないので、ちゃんと調べよう。
うちの環境は、こうだ。
- Windows10 64bit(Fall Creator)
- Visual Studio Code 1.19.3
- 統合コンソールはWSL
- C++ Intellisense 0.2.2
まず、vscodeに、拡張機能のC++ Intellisenseをインストール。
https://marketplace.visualstudio.com/items?itemName=austin.code-gnu-global
設定はここに書いてある。
拡張機能単体では動かず、GNU Globalというものがいるそうだ。
https://www.gnu.org/software/global/
ここのDownloadからたどっていって、6.5.6のWin32版をダウンロード。
http://adoxa.altervista.org/global/dl.php?f=win32
zipがとれるので、適当に展開。
PATHに追加するか、settings.jsonに追加すればよいそうだ。
コマンドラインからは使わないだろうから、settings.jsonに追加。
・・・vscodeから「そんな変数はない」という青い波線が表示されるのだが、大丈夫なんだろうか?
ここまでやって、実行してみた。
やはり、結果が出てこない。
そもそも、Globalが呼び出されているのかどうかが分からん。
vscodeのメニューを見ていると、「ヘルプ > 開発者ツールの切り替え」というものがあった。
選択すると、右側にブラウザの開発ツールのようなものが出てきた。
上のタブに「Console」があったので選択すると、実行したと思われるログが出ていた。
青い波線が出ていても、ちゃんと読んでるんだ。
そして、呼び出しているが、GTAGSがないとのこと。
`gtags` を実行するとよいらしいし、自動でやってほしいならオプションを付ければよいようだ。
せっかくなので、WSLにapt install globalでglobalをインストールし、gtagsした。
なんか、4つくらいファイルができたので、.gitignoreに追加しておいた。
そして、もう一度実行!
・・・GTAGSのファイルフォーマットが古いと言われた。
WSLにインストールされたのは、5.7.1だ。
こちらを読むと、バイナリをダウンロードできるらしい。
https://qiita.com/akegashi/items/042c659c856d2092c443
$ wget http://launchpadlibrarian.net/301614632/global_6.5.6-2_amd64.deb
$ sudo apt install emacsen-common libc6 libltdl7 libncurses5 libtinfo5
$ sudo dpkg -i global_6.5.6-2_amd64.deb
これで、gtagsしなおして、検索を実行すると、今度は出てきた。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。