10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio CodeでOracleのインテリセンスを設定する

Last updated at Posted at 2018-07-28

VSCodeでOracleのIntellisenseを設定

拡張機能でLanguage PL/SQLをインストールする

↓これですね
image.png

設定方法を確認する

↓ここに書いてありました

plsql-language.completion.pathで設定してね(超てきとー訳)
image.png

設定する

ファイル > 基本設定 > 設定 で「plsql-language.completion.path」で検索

設定ファイル「plsql.completion.json」を配置するフォルダを指定してね(超てきとー訳)
image.png

D:\intellisenseを設定します。(任意のフォルダでOKです。)

plsql.completion.jsonを保存する

%userprofile%/.vscode\extensions\xyz.plsql-language-1.4.1\snippetsにあるplsql.completion.jsonをコピーして、先ほど設定したD:\intellisenseフォルダに保存します。
注意:コピー元の設定ファイルを直接編集すると拡張機能の更新時に上書きしちゃうから(超てきと訳)

plsql.completion.jsonを編集する

まずはコメントを外してみます。
image.png

インテリセンスが効くことを確認する

↓効いていますね
image.png

既存のDBから設定ファイルを自動生成する

rubyを使って手軽に出力できます。

plsql.completion.json.generator.rb
require 'oci8'
require 'json'

#設定
user='****user****'
pass='****pass****'
tns='****tns****'
sql="select table_name,column_name,comments from user_tab_comments order by table_name,column_name"
config_file='D:\intellisense\plsql.completion.json'

#DB取得
conn = OCI8.new(user, pass, tns)
configs = {}
conn.exec(sql) do |r|
    tab,col,comm=r
    member = {label: col, kind: "field", documentation: comm}
    if configs.has_key?(tab)
        configs[tab][:members] << member
    else
        configs[tab] = {kind: "struct", members: [member]}
    end
end

#出力
File.open(config_file, 'w') { |file|
    file.puts JSON.pretty_generate(configs)
}
  • テーブルコメント出力するの怠りました。

参考

拡張機能 zabel-xyz/plsql-language

10
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?