【VSCode】SQL Server の開発環境を整える

More than 1 year has passed since last update.


概要

Visual Studio Code (以下、VSCode) では、SQL ファイルを扱うことができます。

しかしデフォルトのままでは、下記の点がとても不便に感じます。


  • クエリ入力時のサジェスト表示がない

  • クエリをフォーマットする機能がない

  • テーブル名やカラム名のスペルミスがあるかがわからない

そこで、何か拡張機能はないか調べてみました。

Marketplace で"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
データベースを選択します


参考文献

※下書きブログの【VSCode】SQL Server の開発環境を整えるから転記しています。何かあったらこっちも更新します。