-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
Verifique:
- Os arquivos têm extensão coberta por
utplsql.includePatterns(default:**/*.pks) - As annotations
%suitee%testestão no spec (.pks), não no body - Há uma linha em branco entre
%suitee o primeiro%test/procedure - Rode
utPLSQL: Atualizar testespara forçar rediscovery
Sim. O utPLSQL funciona com Oracle XE 18c+. A cobertura requer os grants
de DBMS_PROFILER (veja Requisitos no banco).
Sim. Use o formato Wallet na string de conexão:
user/pass@tcps://adb.region.oraclecloud.com:1522/service?wallet_location=/path/to/wallet
Veja Conexão para detalhes.
Sim. A extensão é multiplataforma. O cliPath precisa apontar para o
executável do utPLSQL-cli no seu sistema. No Linux/macOS, é comum ser
um script shell (sem .bat).
Sim. O utPLSQL-cli é uma aplicação Java — o launcher (utplsql.bat ou
utplsql) invoca a JVM internamente. O Java precisa estar instalado e
no PATH.
As causas mais comuns:
- Falta
GRANT EXECUTE ON DBMS_PROFILER— execute os grants - Reporter de cobertura não instalado — atualize o utPLSQL
- Regex em
coverageSourceArgsnão casa — ativedbmsOutputpara depurar -
sourcePathaponta para uma pasta que não contém os fontes
Veja Troubleshooting para diagnóstico detalhado.
Ative utplsql.dbmsOutput: true e veja o output do CLI no terminal da
view de testes. O utPLSQL loga quais objetos SQL foram mapeados para
arquivos.
Sim. O type_mapping suporta FUNCTION, PROCEDURE, TRIGGER, VIEW,
PACKAGE BODY, etc. Configure conforme sua convenção de arquivos no
coverageSourceArgs. Veja Cobertura para exemplos.
Não. Se UT_COVERAGE_COBERTURA_REPORTER não existir no banco, a cobertura
é automaticamente desabilitada com um aviso no output. Os testes rodam
normalmente, mas sem cobertura.
Use a variável de ambiente UTPLSQL_CONN em vez da setting
utplsql.connection. Defina antes de abrir o VSCode:
export UTPLSQL_CONN="user/pass@//host:1521/service"
code .Sim, se sua wallet estiver configurada com autenticação SSO (Single Sign-On):
user@tcps://host:1522/service?wallet_location=/path/to/wallet
Sem o /pass no formato — o Oracle autentica via certificado.
No Windows, o modo launcher passa pelo cmd, que altera metacaracteres
no regex da cobertura. O modo java evita isso. No Linux/macOS, a diferença
é menor porque o shell não consome ^.
Se você não usa regex complexo no coverageSourceArgs, o modo launcher
funciona perfeitamente. Se usa ^, $ ou | no regex, mude para java.
A maioria das configurações não muda — apenas invocation + javaPath
se o Java não estiver no PATH.
Sim. Exponha a env var UTPLSQL_CONN como secret e configure as settings
no job:
- uses: actions/checkout@v7
- run: npm ci
- run: npm run compile
- run: npm test
env:
UTPLSQL_CONN: ${{ secrets.UTPLSQL_CONN }}Os testes com banco real (describeDB em extension.test.ts) exigem
três variáveis de ambiente definidas no .env:
UTPLSQL_CONN=...
UTPLSQL_CLI_PATH=...
UTPLSQL_CLI_HOME=...Sem elas, describeDB é automaticamente pulado com describe.skip.
Use npm run package para gerar um .vsix para testes internos. A
publicação no Marketplace é feita exclusivamente via GitHub release
(pelo workflow publish.yml).
npm run package
# gera: vscode-utplsql-0.7.2.vsix
code --install-extension vscode-utplsql-0.7.2.vsix- Getting Started
- Usage
- Advanced Tools
- Reference
- Development
- Help
{ "utplsql.invocation": "java", // cliHome é derivado automaticamente do cliPath na maioria dos casos // se cliPath for "C:\tools\utPLSQL-cli\bin\utplsql.bat", // cliHome será "C:\tools\utPLSQL-cli" automaticamente }