Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add snippets for annotations and expectations #60

Closed
jgebal opened this issue Apr 23, 2019 · 5 comments · Fixed by #69
Closed

Add snippets for annotations and expectations #60

jgebal opened this issue Apr 23, 2019 · 5 comments · Fixed by #69
Assignees
Milestone

Comments

@jgebal
Copy link
Member

jgebal commented Apr 23, 2019

It would be great to have separate Snippet section in SQLDeveloper to aid users.
The snippets could contain a full list of supported annotations and expectations for current version of utPLSQL.

Ideally, utPLSQL framework could include function to provide a list of supported annotations with description and syntax examples.

@PhilippSalvisberg
Copy link
Member

PhilippSalvisberg commented Apr 23, 2019

Good idea. It would be nice if you could provide the snippets. You can create them within SQL Developer. They are stored in UserSnippets.xml (in %APPDATA%\SQL Developer on Windows).

Based on that I should be able to provide them as part of the utPLSQL extension. I had a quick look at the oracle.sqldeveloper.snippet extension. There is no supported way to add additional snippets. There is a method called SnippetAddin.registerSnippet, but it is protected. However it should be possible to extend the existing UserSnippets.xml for predefined group names (e.g. utPLSQL). The event for the extension could be placed in the Preferences, similar how we currently extend the code templates. This way user defined snippets are modified via explicit user interaction only.

@PhilippSalvisberg
Copy link
Member

Ideally, utPLSQL framework could include function to provide a list of supported annotations with description and syntax examples.

If the utPLSQL framework provides this information, then the it should be possible to update the snippets based on that. However, choosing the right connection to get this information will be challenging, since the preference dialog does not have a connection context. Of course we could add a context menu on the connection to do the snippet update. The question is if we want to support older utPLSQL versions also. If the answer is yes, then we have to provide the snippets as part of the extension (at least for the older utPLSQL versions).

@lwasylow
Copy link
Member

Hi is a first shot at snippets :)
UserSnippets.zip

@PhilippSalvisberg
Copy link
Member

Thanks @lwasylow . Good idea to provide a category for annotations and another one for expectations. I think it is even doable to maintain this UserSnippets.xml manually.

I plan to include it in the resource folder and provide a button in the preference dialog for the merge with the user's UserSnippets.xml. It's not perfect, but not that bad as well.

@lwasylow
Copy link
Member

Yeah it's small enough to maintain manually and to be fair probably easier. Sounds like good plan
I actually like the snippets is like building a Lego now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants