shion のアバター画像もくもくログページ一覧ブログ一覧技術メモ一覧ライセンス表記利用規約外部リンクconnpassGitHubSpeaker DeckTwitter[工事中]Shion のもくログバージョン1.2.5

もくもくログ

主にIT 関連のメモをもくもくと綴っていきます

この記事の情報は古い可能性があります
最終更新日:2017/11/30 15:00:00
Visual Studio Code でSQL Server の開発環境を整えるSQL ServerVisual Studio Code

概要

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

参考文献

一覧に戻る