お読みあそばせ

もはやただの日記

VScodeのプロジェクト内検索をパネル(下)に出す

beautifyとかが悪さしてたんだと思うんですが、とある特定のプロジェクトだけ保存すると勝手にコードが整形されてしまうようになってしまったので、VScodeを初期化して設定などを見直しました(原因を探す方がめんどうだった)。たまに見直すといらん設定*1とかしているので、いいんじゃないでしょうか。

わたしはプロジェクト内検索を長らくパネル(下)に出して、Atomなどと似たようなレイアウトにしていたんですが、初期化したのでもとに戻ってしまった。
同じレイアウトで作業している人はわかるだろう。サイドバーに検索があると該当箇所の表示部分が狭くて不便極まりない。今まで通り以下の設定をいれようとするけど、設定項目自体がなくなっていた。

"search:location": "panel"

ググると2020年03月18日現在だいたいこれが出てくるんだけど、2020年2月のアップデートで使えなくなっていた。ので新しい方法を書いておきます。

結論からいうと

こうなった。

"workbench.view.experimental.allowMovingToNewContainer": true

setting.jsonに書き加えておきましょう。

経緯

Note about Search: With the new generalized method of moving views, the old Search view setting search.location and command Search: Toggle Search View Position (search.action.toggleSearchViewPosition) are being deprecated.
Your setting should migrate automatically, but you will need to use the new generalized method to move the Search view going forward. You do not need to enable the experimental preview setting above in order to move the Search view with the new context menu entry.

とのこと。さらに、

With the setting enabled, some views have a new context menu entry to move them between the Sidebar and Panel. Currently this setting only affects the Outline view in the Explorer and views contributed by extensions. You also cannot combine these views in the Panel like you can in the Sidebar.

レイアウト変更する人が多いからもっと柔軟に対応できるようにしたよ。今までsearch:location使ってた人の設定は引き継がれるけど、今後変更したい人はこっち使ってね。
とのことです。公式のプレスリリースにちゃんと書いてた。

code.visualstudio.com

でも、"workbench.view.experimental.allowMovingToNewContainer": trueを加えただけではパネル表示にならない。そこでオプションから、パネル表示の設定を加える。

f:id:tnkyy:20200318184740p:plain
サイドバーの「検索」あたりから右クリ等で出現するオプションに「パネルに移動」の項目がある

この設定をするとサイドバーから検索アイコンが消える。多分こういうエディタを使うほとんどの人は問題ないだろうけど、アイコン消えたら困るよ!、という人は拡張機能shortcutsをいれて、setting.jsonに以下を書き足す。

"shortcuts.buttons": [
    "file-binary , workbench.action.tasks.build , Run build task",
    "beaker , workbench.action.tasks.test , Run test task",
    "terminal , workbench.action.terminal.toggleTerminal , Toggle terminal panel",
    "telescope , workbench.action.showCommands , Show command palette",
    "bug, workbench.action.debug.start, Launch debug",
    // ここを書き加える
    "search, workbench.view.search, Search"
  ]


これでステータスバーに検索アイコンが表示されるようになります。よかった。

f:id:tnkyy:20200318185317j:plain

*1:Path AutocompleteとPath Intellisenseが両方入っていた。なぜ。