概要
Visual Studio Code (以下、VSCode) では、SQL ファイルを扱うことができます。
しかしデフォルトのままでは、下記の点がとても不便に感じます。
- クエリ入力時のサジェスト表示がない
- クエリをフォーマットする機能がない
- テーブル名やカラム名のスペルミスがあるかがわからない
そこで、何か拡張機能はないか調べてみました。
いくつか候補はありますが、普段SQL Server を使っているので、今回はその環境を作りたいと思います。
検証環境
OS | VSCode のバージョン | 備考 |
---|---|---|
macOS Sierra | 1.12.1 | OpenSSL, .Net Core 設定済み |
※2017/5/14 頃のデータを記載しています。なお1.18.1 でも動くことを確認できました。
セットアップ手順
VSCode の拡張機能メニューから"mssql" をインストールすれば完了です。必要機能が一つにまとまっているのでとても簡単です(#^ ^#)
"mssql" はSQL Server 用の拡張機能で、Microsoft が作っています。
詳細は下記リンクをご覧ください。
mssql - Visual Studio Marketplace
※下記のリンクに、インストール時の注釈があります。動かない場合は、こちらをご確認ください。
Use Visual Studio Code to create and run Transact-SQL scripts for SQL Server
使い方
サジェストを表示したい
SQL ファイル上で、それっぽく入力すると表示されるようになります。
すぐ表示したい場合は、下記のコマンドを試してみてください。
OS | サジェスト表示のコマンド |
---|---|
macOS |
controll + space
|
※個人設定によって異なる場合があると思います。詳細はコマンド一覧をご確認ください。
(全)フォーマットしたい
右クリックメニューの「Format Document 」か下記コマンドでフォーマットできます。
OS | フォーマットのコマンド |
---|---|
macOS |
shift + alt + F
|
SQL Server の接続周り
SQL Server への接続
MS SQL: Connect
上記のコマンドを入力し、ガイダンスに従うと接続できます。
接続情報は、VSCode のユーザー設定に保存されます。
下記のコマンドを入力すると接続情報の編集等ができます。
MS SQL: ManageProfiles
使い方の詳細は、下記をご覧ください。
Manage Connection Profiles · Microsoft/vscode-mssql Wiki · GitHub
SQL Server の接続解除
MS SQL: Disconnect
クエリ関連
新規作成
MS SQL: New Query
DB に接続しているため、テーブル名等の候補が表示されます。
表示されない場合は、下記のコマンドでサジェストを更新してください。
MS SQL: Refresh Intellisense Cache
それでもうまくいかない場合は、クエリを小文字で書いてみてください(試した感じですが、小文字だと出てきました)
select *
from hoge
クエリの実行
MS SQL: Run Query
あるいは右クリックメニューのExecute Query
でも実行できます。
実行中のクエリの中断
MS SQL: Cancel Query
データベースの切り替え
MS SQL: Use Database
終わりに
VSCode + mssql でかなり便利になりました。
より高性能なツールとしてSQL Server Management Studio がありますが、Windows でしか使えず、さらに起動が重たくなりがちです。
なので軽くやるだけならば、VSCode + mssql を使ってみるのも良さそうです。
付録(コマンド一覧)
コマンド名 | 説明 |
---|---|
cancelQuery | クエリの実行をキャンセルします。 |
connect | サーバーに接続します |
disconnect | サーバーとの接続を解除します |
manageProfiles | サーバーとの接続情報の編集等ができます。詳細はこちら |
newQuery | サーバーに接続した状態で、クエリを新規作成します。 |
rebuildIntellisSenseCache | インテリセンス内容を更新します |
runQuery | クエリを実行します。 |
showGettingStarted | チュートリアルページを表示します |
useDatabase | データベースを選択します |
参考文献
- mssql - Visual Studio Marketplace (2017/05/14)
- Use Visual Studio Code to create and run Transact-SQL scripts for SQL Server (2017/05/14)
- Home · Microsoft/vscode-mssql Wiki · GitHub
※下書きブログの【VSCode】SQL Server の開発環境を整えるから転記しています。何かあったらこっちも更新します。