Giter VIP home page Giter VIP logo

vscode-qlik's Introduction

CLA assistant compile CodeFactor Visual Studio Marketplace Visual Studio Marketplace Downloads

Visual Studio Code - Qlik Extension

This extensions allows to use VSCode as an editor for Qlik Sense based systems.

It currently connects to:

  • Qlik Sense Desktop
  • Qlik Sense for Windows with Windows/NTLM
  • Qlik Core / Docker

Further authentications are on the roadmap and are tracked in issue #283

Install

Search for "vscode-qlik" in VSCode Extension Marketplace or go to the Marketplace and press Install.

Usage

Video for script reload:

Video for script error checks:

create new connection

  • go to the window which was opened by vscode and press "CTRL + Shift + P" and search for "VSQlik: Show Connection Settings" and press enter.
  • add new connection
  • save and close

open connection

  • press again "CTRL + Shift + P" and search for "VSQlik: connect to server"
  • select the server and the Server will appear in the folder tree.

Contribute / Debug

Here you will find more howto compile the extension yourself.

vscode-qlik's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar konne avatar plh-coding avatar r-hannuschka avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

vscode-qlik's Issues

[FR] better webview

create Webview with Angular

  • add base webview
  • implement messsage to communicate with vscode

[FEAT] add vscode eslint req.

add es lint module to required / recommended extension in the .vscode dir so that new user get this automatically as suggestion

add eslint config into vs code proj settings

[FEAT] eslint reporter and CI action

Eslint only reports if we got some errors but not if it is working, so if all is a success we see just nothing. So create a reporter which shows at least how many files was processed and show a green "success" message.

Also add CI Action so all contributes can see if something fails / or not (no sneaky commits ;) )

Your .dependabot/config.yml contained invalid details

Dependabot encountered the following error when parsing your .dependabot/config.yml:

The property '#/update_configs/1' is a duplicate. Update configs must have a unique combination of 'package_manager', 'directory', and 'target_branch'

Please update the config file to conform with Dependabot's specification using our docs and online validator.

[FEAT] check directory tree extension

please check if is possible to extend the existing directory tree with extra infos.
This would open a way to show the real name off an app even if the directory is only the guid (Qlik Sense for Windows)
It would be also great to give different icons / overlay for published apps / objects,...

[FEAT] - handle wrong credentials

currently if we enter incorrect crendentials or something went wrong wo dont shon any messages. It is currently the workspace folder exists -> try login -> error nothing happens just an empty workspace folders is left.

We also do not have a chance we can enter the data again. We need to find a way how to handle this one.

Maybe repeat if something is wrong, on cancel remove workspace folder from vscode workspace.
Lets sit together and think about that.

[FR] - Improve Cache Handling

Currently all Sessions will written to cache, but we cant remove them from cache or get them directly.
This causes one big problem, if we cant get a session we cant close it. For example reload whole tree or delete an app.

So we should use an npm cache module which allready exists.

[BUG] Retry Docker Restast

If the docker is just restarted and the qixFS think that there is still an existing connection it throughs an error. Please fully kick the old session and make a complete reconnect:
image

Dependabot couldn't find a package.json for this project

Dependabot couldn't find a package.json for this project.

Dependabot requires a package.json to evaluate your project's current JavaScript dependencies. It had expected to find one at the path: /src/media/webview/package.json.

If this isn't a JavaScript project, or if it is a library, you may wish to disable updates for it in the .dependabot/config.yml file in this repo.

View the update logs.

VSQlik: Show Connection Settings is blank

Describe the bug
Running the command VSQlik: Show Connection Settings results in a blank page.

To Reproduce

  1. Show commands (Shift-Ctrl-P)
  2. Select VSQlik: Show Connection Settings
  3. The settings page is blank

Expected behavior
The settings page would not be blank.

Screenshots
Blank Settings Page

Desktop (please complete the following information):

  • OS: Windows 10 Pro for Workstations, version 1909
  • VS Code version: 1.46.1

Additional context
The Console in 'Help -> Toggle Developer Tools' says:

webviewElement.ts:51 Webview: Cannot load resource outside of protocol root
(anonymous) @ webviewElement.ts:51
async function (async)
(anonymous) @ webviewElement.ts:43
apply @ callbacks-registry.ts:45
(anonymous) @ remote.js:286
(anonymous) @ remote.js:276
emit @ events.js:203
onMessage @ init.ts:59

[FEAT] - Show AppName and ID in Tree

Show only the id in the tree is currently not very helpful since we do not know which app is currently showing up. Using the name will not work since an name could exists twice but not as vscode folder.

So we need to find a solution for that issue show app name with a postfix (1, 2 and so on) or append the id.

If possible show a tooltip if we hover over the app.

[BUG] could not open apps

As we can login to server, we allready see all apps but we could not open them since it throws an error. This is not an error in enigma or qlik since these are static defined folders (script, vars) so no reason to start a request.

I think the problem is in the internal router which could not find the specific route anymore and throws FileNotFoundException.

[FEAT] Master Items

add all master Items as possible elements

  • Meassures
  • Dimensions
  • Visualisations

[FEAT] add tslint

we have to many errors so we should add tslint for development to help with that issues.

[FEAT] Settings add filetype

Currently we print all files (currerntly only variables) in yaml format, so extend the settings to select a file type

yaml, json, xml

[BUG] lint errors

Describe the bug
linting errors for webview

To Reproduce
run ng lint in webview

Expected behavior
errors are gone

[Feature] Improve Connection Settings

First create extension, seems to be very good but currently it seems we could only use docker containers for that without adding a specific username or password to login to a real server, can we provide such a feature that we can add a configuration for to add username and password to connect a server ?

Best Regards,
Ralf

[FEAT] add more auth strategies

Currently we only load the form authorization strategy lazy as auth strategy. We need to do the same for

  • No auth strategy
  • Custom strategy

[FR] - improve message handling between vscode and webview

VSCode sends message via postMessage to webview which could fetched by window.postMesssage, and resolves message by vscodeClientApi.

The Problem is both are only events, which is not very useful since we have 2 diffrent connection points for that or need a controller who handles this messages. For example:

/**
 * send:
 */
acquireVsCodeApi.postMessage({ action: 'save', data: ...);

/**
 * resolve:
 */
this.window.on('postMessage', () => ...);

So we need a Frontcontroller in webview and a frontcontroller in vscode to know we recive a message and send it back. So we should create a own message container to improve this we can handle this with promises or observables.

// webview
this.send({...}).subscribe((response) => {
    // on this point we resolve the result we get by send a save command
    // which is logical a better place for that
});

feat: docu add docker run example

please add an example for docker run with working parameters, to make a start with the dev version easy for new developers

docker run --volume /LOCALMAPDIR/:/home/engine/Qlik/Sense -p 127.0.0.1:9076:9076 qlikcore/engine:12.477.0 -S AcceptEULA=yes

[BUG] create new file override main.qvs

Creating a new file override app script, same behavior like copy paste. We dont know what happens, user create a file oder copy / paste a file, both go into write file directly.

The only diffrence in this case is create a new file has no content. So we could only say if no content exists dont override app script.

[FR] - cache sessions

Since we could open only 5 active sessions with qlik, we should cache sessions to get active one again.

[BUG] Copy back not working

If you have an main.qvs outside, it should be possible that you can copy the file back to an app with the file explorer and that you don't need to copy the each content.

The issue is that vscode try to delete the old file first, pleace checkl

[FEAT] - improve crendential input

currently we use vscode.window.showInputBox which is very simple, only text field, foot note and placeholder.
Which is not enough since the problem we have, if we have 2 possible connections with the FormStrategy we do not know for which Connection we insert the current credentials. The information can displayed in the footer but not good enough.

So switch to vscode SimpleInput which can be more customized / controlled more instead of vscode.window.showInputBox.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.