Oracle Developer Tools for VS Codeの基本操作チュートリアル

**※ バージョン19.3.2の動きに合わせた記事を新しく追加しましたので、以下をご覧ください。本記事は19.3.0が対象です。
[Oracle Developer Tools for VS Codeの基本操作チュートリアル(バージョン19.3.2対応)](https://qiita.com/nakaie/items/670388a4a2e0b05a07cf)**

2019年6月20日、Visual Studio Codeを使用してOracle DatabaseのSQLとPL/SQLのコーディングを支援するOracle社公式の拡張機能(Extension)、Oracle Developer Tools for VS Codeがリリースされました。
本記事では、初期リリース直後のバージョン19.3.0を使用して、本拡張機能の簡単な利用方法を説明します。
本記事にない拡張機能の利用方法は[Quick Start(英語)](https://www.oracle.com/database/technologies/appdev/dotnet/odtvscodequickstart.html)をご確認ください。

# 拡張機能のインストール

VS Codeを日本語化している方は適宜読み替えてください。
[.NET Core version 2.2](https://dotnet.microsoft.com/download)以上が必要ですので、未インストールの方は先にこちらをインストールしてください。

1. 拡張機能のアイコン(アクティビティーバーの一番下)をクリックして、拡張機能の画面を表示します。
2. 拡張機能サイドバー内の検索欄にて「oracle」で検索し、検索結果の中から「Oracle Developer Tools for VS Code」の「Install」ボタンをクリックしてインストールします。<BR>![odt01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/bce5ae64-7a6f-2d38-95d2-c925b6358abe.png)


3. インストールが完了したらVS Codeを再起動します。


# データベースへの接続

1. 既存のSQLスクリプトファイルをオープンするか、新規ファイルをオープンします。
2. F1キーを押してコマンドパレットを表示させ、一覧から、「Oracle: Connect」を選択します。<BR>![odt02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/ecbdd7b6-fde0-36eb-63fa-b1f8538add12.png)

3. 使用する開発言語として、「Oracle-SQL and PLSQL(oraclesql)」を選択します。<BR>![odt03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/6191d43e-002d-50f5-621a-cdccc34b0e76.png)
4. 接続先の定義を指定します。TNS接続子でも、スクリーンショットのようなEZCONNECT定義でも構いません。<BR>![odt04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/d6d4d559-df67-4d47-73b2-6413a5a4bf88.png)
5. Administratorとして接続するかどうかを指定します。基本は「Non-Administrator」を選択します。「Administrator」を指定した場合は、接続する特権ロール(SYSDBA等)を選択する画面に続きます。<BR>![odt05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/3fe7c4d2-de31-1b5e-8a4c-f3fbf35ae314.png)
6. 接続ユーザーを指定します。<BR>![odt06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/ebf50131-a0e3-4129-22f6-e18be22db4c0.png)
7. 接続パスワードを指定します。<BR>![odt07.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/250f3501-3972-c186-cb0d-18c63d860b00.png)
8. パスワードの保存可否を選択します。<BR>![odt08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/9a777d09-ddb8-b224-036a-8c2cdc07debf.png)
9. 今まで入力した接続設定に名前を付けて保存したい場合は、接続設定名(スクリーンショットでは「connection1」)を指定することが可能です。Enterキーで保存が確定します。ESCキーで指定をキャンセルできます。<BR>![odt09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/78d29e15-213a-3f46-ce22-ba453cc8128a.png)
10. 接続設定に誤りがなければ、以上の設定で接続が完了します。9.で接続設定を保存した場合は、次回以降、4.の際に、保存した接続設定が選択肢に追加されます。

# SQLの実行

1. スニペットに対応していますので、SELECT文の「s」を入力した段階で、事前登録されているスニペットが表示されます。もちろんCTRL + SPACEキーでも構いません(選択肢が絞られていないのでたくさん表示されますが)。<BR>![odt10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/7779d4d1-4883-deeb-817a-7f7906e19a4e.png)
2. ここで一番下の、「oracleSelectRows」を選択してみます。登録された内容が張り付けられます。<BR>![odt11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/f6819675-4df1-fb3e-7957-c6aea8cf9552.png)

3. スニペットを使用した意味がありませんが、例文を入力してみます。「scott.」とタイプした段階で、指定可能なテーブル名一覧が表示されます。<BR>![odt12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/5496ab69-de28-c166-393a-129862f8ab51.png)
4. SQL文を選択してから右クリックし、「Execute Query」を選択するとSQL文が実行されます。選択しない場合は、編集ファイル上のすべてのSQL文が実行されます。<BR>![odt13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/f39c3c28-3189-e517-127e-1d111c839b11.png)
5. SELECT結果が画面分割した右側に表示されます。<BR>![odt14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/d54ac20c-7acf-69b4-9b62-37f91d5639f6.png)
以下、SELECT結果画面の解説です。

・ 青で選択している表のアイコンをクリックすると、SELECT結果が畳まれます。再度のクリックで再表示されます。
・ 表アイコンの左のアイコンをクリックすると、SQL文が表の前に表示されます。再度のクリックで畳まれます。
・ 表アイコンの右のアイコンをクリックすると、SELECT結果がCSV形式でクリップボードにコピーされます。
・ 一番右のフロッピーディスクのアイコンをクリックすると、その左側で指定した形式(CSVもしくはJSON)でSELECT結果をファイルに保存するダイアログが表示されます。

# データベースから接続断

1. F1キーを押してコマンドパレットを表示させ、一覧から、「Oracle: Disconnect」を選択します。
2. 接続修了確認メッセージに対して「Yes」を選択するとセッションが切断されます。<BR>![odt15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/125837/807dbf17-e03b-0d15-2337-a9accbcbb9c5.png)

# 変更履歴

- 2019/6/24 初期登録
- 2020/8/24 新規記事への誘導を追加