2024年8月1日木曜日

最近使っているeditorをVSCODEに移行した話

 もともとプログラムを書くのにバキバキに改造した秀丸エディタを使っていたが、最近有識者の手助けもありVSCODEに移行した。基本的に便利。ちょっと文字コードの融通が利かないことがあるが多分私が上手に使えていないだけで良い方法があるんだと思う。VSCODEといえば拡張機能をはじめとした種々の昨日の豊富さが売りなので、私がよく使っている機能を紹介する。あまりにもキーボードショートカットが多すぎて全然把握しきれないし、とりあえずで登録しようとしたら大体何かと衝突すると警告される。

キーボードショートカット

  • ctrl+shift+[: 今カーソルが当たっている個所のインデントを折りたたむ
  • ctrl+shift+]: 今カーソルが当たっている個所のインデントを展開する
  • ctrl+shif+fでgrep検索 …ただし事前にVSCODEでフォルダを開いている必要がある
    • 検索結果から除外するファイル/選択するファイルを正規表現で指定できるので、とりあえず検索対象に*.sasを選択している。この辺の設定は前回の指定を結構覚えているので頻繁に指定しなくても良いので助かっている
    • grep検索した後alt+enterすると検索結果を新規editorを立ち上げて表示してくれる
    • grep検索の結果をサイドバーに出すときは標準で展開された状態だが、右上の端のアイコンを押すと全部折りたたんでくれる
      • 標準で折りたたんだ状態で出してくれる設定とかないんかな。多分あるんだろう
拡張機能
  • SASの公式 
    • これがあるとプロシジャなどの入力補完からハイライトまでしてくれるので必須。設定を頑張ればVSCODE上でSASを動かせるらしいがそこまでは試していない
  • VSCODE日本語化
  • alignment
    • 指定した範囲を事前に指定したキー文字列で縦にそろえてくれる拡張
    • 設定のjsonファイルを開けて、カンマをキー文字列に追加して、要らないキー文字列を削除した後、F1のコマンドパレットからalign all charsするかalt+;で実行
    • setting jsonは左下の歯車→設定→拡張機能→alignment configurationからsetting jsonファイルを開けて中のalignment.charを修正すればキーの指定が可能。 私は; , then,=を指定している

例えば以下のようなカンマ区切りの文字列を、カンマの位置を揃えるように縦に整形する
a,b,c
12,34,56
a  ,b  ,c
12,34,56

その他
SASの関数や引数の補完はSASの公式拡張がやってくれるので、ユーザースニペットを現在の日付や名前などの定型文挿入に使っている。挿入するユーザースニペットは設定のSAS.jsonに指定しているので、SASファイル以外では余計なスニペットを起動しないのが非常に便利。
例えば以下のように、todayと入力すると現在の年月日がハイフン区切りで入力されるものを設定している
  "today":{
        "prefix": "today",
        "body": ["$CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE"] ,
        "description": "today",
    }

ctrl+@で画面下部でコンソールを起動して、そこでpowershellを操作できる。SAS書いているときに使うことはあまりないのだが、データを見ながら手元のeditorで簡単な計算ができるのは結構便利。例えば詳細な指定はできないが2つの日付の間の日数を手元で出すことができるのも結構助かっている。以下のようにすれば前の日付から後ろの日付までの期間を出してくれる。もちろん四則演算も可能。
new-timespan "2022/03/13" "2023/04/14" | format-table -property days 
この下部コンソールのpowershellはVSCODEで開けているフォルダを現在のディレクトリと認識してくれるので、簡単なものなら適当に別フォルダでも使いまわせてしまうのもgood

行全体ではなく矩形選択はctrl+shift+alt+矢印で指定する。これは押すキーが多くてちょっと押しにくく不便。4キー押しはさすがに無理なのでキーバインドを変更したいが良い感じのものが大体既存の設定と競合するので変えれていない。

選択箇所を全て大文字に変換するのは標準だとどのコマンドか忘れてしまった。私はalt+uに割り当てを早々に変えてしまった。

以上が何となく私が使っている設定の一部だ。あまりにも豊富すぎてまだ把握できていない。これからもVSCODEを利用して仲良くなれるようしていきたいと思うが、今まで使っていた秀丸エディタも便利なので場合によって使い分けていきたい。あまりにも融通の利く秀丸マクロの完全な移行が出来ていないので…多分完全に置き換えるのは無理だろうなあ…


0 件のコメント:

コメントを投稿