Giter Site home page Giter Site logo

tidev / vscode-titanium Goto Github PK

View Code? Open in Web Editor NEW
38.0 21.0 19.0 24.02 MB

Titanium SDK development tools and UI package for Visual Studio Code.

License: Apache License 2.0

JavaScript 1.63% TypeScript 96.61% Shell 0.02% EJS 1.74%
vscode vscode-extension vscode-titanium titanium visual-studio-code

vscode-titanium's Introduction

Titanium Package for Visual Studio Code

Version Installs

Titanium build tools and editor additions for Visual Studio Code.

Titanium extension for VS Code

Installation

Via the browser

  1. Open the extension on the Visual Studio Marketplace
  2. Click "Install"

In VS Code

  1. Open the Extension view, type in Titanium
  2. Select the "Titanium" extension by TiDev
  3. Click "Install"
  4. Reload VS Code

Features

Commands

This extension makes the following commands available in the Command Palette to enhance your development experience.

Command Description Keybinding
Titanium: Create application Create a new Titanium application project -
Titanium: Create keystore Create keystore -
Titanium: Create module Create a new Titanium module project -
Titanium: Enable LiveView Enable LiveView -
Titanium: Disable LiveView Disable LiveView -
Titanium: Build Build a Titanium project Mac: cmd+alt+enter
Windows/Linux: ctrl+alt+enter
Titanium: Package Package a Titanium project -
Titanium: Stop Stop a running build or package process Mac: cmd+alt+.
Windows/Linux: ctrl+alt+.
Titanium: Set log level Set log level -
Titanium: Generate Alloy controller Generate Alloy controller -
Titanium: Generate Alloy migration Generate Alloy migration -
Titanium: Generate Alloy model Generate Alloy model -
Titanium: Generate Alloy style Generate Alloy style -
Titanium: Generate Alloy view Generate Alloy view -
Titanium: Generate Alloy widget Generate Alloy widget -
Titanium: Open related view Open related view Mac: cmd+alt+v
Windows/Linux: ctrl+alt+v
Titanium: Open related style Open related style Mac: cmd+alt+s
Windows/Linux: ctrl+alt+s
Titanium: Open related controller Open related controller Mac: cmd+alt+x
Windows/Linux: ctrl+alt+x
Titanium: Open related files Open related files Mac: cmd+alt+a
Windows/Linux: ctrl+alt+a
Titanium: Fix environment issues Fix environment issues -
Titanium: Check For Updates Check For Updates -
Titanium: Install All Updates Install All Updates -
Titanium: Select Updates Select Updates -
Titanium: Clean project Clean project -

Titanium View

This extension provides a Titanium view to the Activity Bar in VS Code. With this view, you can view your available build platform and their targets.

Access to the same commands provided by the Command Palette are available inline on device and platform targets, as well as in the right click context menu

Titanium Activity Pane

Debugging

This extension allows you to debug Titanium applications using the debugger in VS Code. For more information view the debugging documentation.

Tasks

This extension contributes tasks allowing you to customize and orchestrate your own builds. View the task documentation for more information.

Configuration Settings

There are a variety of settings that you can use to customize this extension to your needs. You can find them listed below.

You can learn more about User and Workspace settings in the VS Code documentation.

Setting name Description Default Value
titanium.android.keystoreAlias Keystore alias used for packaging Android applications No Default
titanium.android.keystorePath Path to keystore used for packaging Android applications No Default
titanium.build.liveview Whether to enable LiveView when building applications true
titanium.codeTemplates.jsFunction Event handler function template \nfunction ${text}(e){\n}\n
titanium.codeTemplates.tssClass Style class (.) template \n'.${text}': {\n}\n
titanium.codeTemplates.tssId Style ID (#) template \n'#${text}': {\n}\n
titanium.codeTemplates.tssTag Style tag template \n'${text}': {\n}\n
titanium.general.defaultCreationDirectory Default directory to use when creating projects No Default
titanium.general.displayBuildCommandInConsole The executed build command is written to the output channel to aid debugging. This will include password arguments. true
titanium.general.logLevel Logging level for commands being run info
titanium.general.updateFrequency Controls the frequency for how often to show an alert if there are updates available. Updates can always be viewed in the Titanium activity pane. Accepts values in time formats like 60 minutes, 12 hours, 7 days etc. 1 day
titanium.general.useTerminalForBuild When true build/package commands will be run using the integrated terminal as opposed to using an output channel. true
titanium.package.distributionOutputDirectory Output directory for package builds. dist
titanium.project.defaultI18nLanguage Default language to use for i18n autocomplete. en

Snippet definitions

Snippets for Titanium development

Prefix Description
tidebug Debug log function
tiinfo Info log function
titrace Trace log function
tiwarn Warn log function
tierror Error log function
tiaddevent Add event listener function
tiremevent Remove event listener function
tifireevent Fire event function
tialert Create alert dialog
tiopt Create option dialog
tianim Create animation
tifile Get file
tisound Create sound
tiaudio Create audio player
tivideo Create video player
ticamera Show camera

Snippets for Alloy development

Prefix Description
alglo Alloy Globals object
alcfg Alloy CFG object
alargs Arguments available in an Alloy controller
alcon Alloy create controller function
alcol Alloy create collection function
almod Alloy create model function
alwid Alloy create widget function
ifios Alloy iOS conditional statement
ifand Alloy Android conditional statement
ifwin Alloy Windows conditional statement

Contributing

See the contributing guide for info

License

Apache License. Version 2.0

vscode-titanium's People

Contributors

caspahouzer avatar cb1kenobi avatar chrisbowley avatar dependabot-preview[bot] avatar dependabot[bot] avatar dzzd avatar ewanharris avatar greenkeeper[bot] avatar hansemannn avatar jasonkneen avatar longton95 avatar m1ga avatar mbender74 avatar semantic-release-bot avatar topener 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

Watchers

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

vscode-titanium's Issues

Use without the appc-cli

In development, we only use the Titanium CLI - simply because appc-cli builds are deadly slow due to the registry checks on every build. Therefore, an option to use the Titanium CLI (like the Atom plugin offers) would be great. Otherwise, it would rather be used as an editor than an IDE. Thanks!

"Error generating autocomplete suggestions" in large project

Testing the extension with a large Alloy project throw this errors:

[2018-12-13 14:05:18.866] [renderer1] [info] standard startup
[2018-12-13 14:05:29.971] [renderer1] [warning] UNRESPONSIVE extension host, 'Zignd.html-css-class-completion' took 96% of 5400.073ms, saved PROFILE here: '/var/folders/2b/wq83cf7s7hx37v4l16jj407r0000gn/T/exthost-159d65.cpuprofile' [{"id":"gc","total":183408,"percentage":3},{"id":"program","total":23140,"percentage":0},{"id":"self","total":132,"percentage":0},{"id":"Zignd.html-css-class-completion","total":5187005,"percentage":96}]
[2018-12-13 14:05:36.996] [renderer1] [error] Failed to execute git
[2018-12-13 14:06:29.668] [renderer1] [error] Cannot read property 'regExp' of undefined: TypeError: Cannot read property 'regExp' of undefined
    at Object.provideDefinition (/Users/macCesar/.vscode/extensions/axway.vscode-titanium-0.1.1/out/providers/definition/definitionProviderHelper.js:121:24)
    at StyleDefinitionProvider.provideDefinition (/Users/macCesar/.vscode/extensions/axway.vscode-titanium-0.1.1/out/providers/definition/styleDefinitionProvider.js:35:41)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:553:442
    at t.asThenable (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:141:941)
    at new Promise (<anonymous>)
    at Object.t.asThenable (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:141:909)
    at e.provideDefinition (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:553:401)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:569:457
    at e._withAdapter (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:567:513)
    at e.$provideDefinition (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:569:419)
    at t._doInvokeHandler (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:658:837)
    at t._invokeHandler (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:658:509)
    at t._receiveRequest (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:657:60)
    at t._receiveOneMessage (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:656:59)
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:653:895
    at /Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:130:793
    at e.fire (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:133:218)
    at a (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:186:147)
    at Socket.n._socketDataListener (/Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/node/extensionHostProcess.js:186:368)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at Pipe.onread (net.js:594:20)

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

No prompt for adapter type when generating an Alloy model

Describe the Bug

Alloy model generation does not prompt for the type of adapter to use

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:

  1. Call create model from the command palette
  2. Enter name

Expected Behavior

Prompted for the type of adapter to use

Error thrown when attempting to open widget after creation

Describe the Bug

Error thrown when creating a widget and clicking "open" in the dialog. This looks to be because we're calling open on a folder not a file.

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:

  1. Call create widget from the command palette
  2. Enter the options
  3. Click "Open"

Expected Behavior

The atom plugin opens the js, tss, and xml file for a controller. I suggest we do the same

Implement Alloy remove command

The Alloy remove command takes a single argument that is the name of a controller/style/view, and removes the related files. It only handles a single argument. As the command removes all the related files we should only implement it as a "remove Alloy MVC components" (could be improved)

Investigate conventional-changelog

We wont use it for the initial release, but it would be good to try and setup conventional-changelog so we can automatically generate a changelog from the commits, standard-version is another good option

Android build prompting for certificate.

The Bug

When I try to run my app on Android configurations I get prompted to select a certificate with no options and no way forward.

Steps to Reproduce

  1. Create fresh appcelerator app via CLI.
    appc new -t app -n test_appc_vscode --id com.example.testappcvscode
  2. Open VSCode, wait for Titanium extension to load
  3. Run app via Titanium extension in any of the ways:
    Ctrl+Shift+P -> Titanium Run -> Android -> Emulator | Device
    or
    Titanium Explorer play button on listed targets.

Expected Behavior

Make the build and install on emulator or device without prompting for certificate.

Your Environment

Software Version
Windows 10 Enterprise 1803
Titanium SDK 7.5.0.GA
Appcelerator CLI 7.0.8
VS Code 1.30.1
vscode-titanium 0.1.2

Other Notes

  • appc run -p android builds and runs fine.
  • There are no build logs because I can't get there.

I'm happy to answer questions, help debug, and possibly make a PR if necessary. Also, thanks for making this extension!

Single global or custom dist path

Ability to specify a single global output dist path for all projects, so you can have a single directory where you can collect ipa (ad-hoc) and apk files of several different projects, or to be able to specify the dist path for the project.

Be open to open widget by clicking on it's identifier

Is your feature request related to a problem? Please describe.
This is a feature request.

Describe the solution you'd like
It could work the same way as controllers can be opened by clicking
their identifier. Example:

Alloy.createWidget('com.appc.testwidget').getView().open();
                    ^^^^^^^^^^^^^^^^^^^
                     click here to open

Describe alternatives you've considered
Open it manually :(

Repo cleanup

  • Create a contributing.md file to outline how people can get involved
  • Create issue templates to help guide people filing issues

How do you set up debugging?

To keep the issue tracker clean, we request that general questions go to the #titanium_editors channel.

I've got the extension working: it's able to build, install, and launch my app on Android. However I can't figure out how to set up a debugger in order to debug the Javascript: can someone please assist?

Build related cleanup

At a basic level

  • Do not open a new console every time
  • Move build code out of extension.js?
  • async/await the chunky promise chain in the command

Auto-close quotes, brackets and code Formatting in TSS files.

I used to use this Extension:

https://marketplace.visualstudio.com/items?itemName=dbankier.vscode-titanium

Mainly for its auto-closing quotes, auto-closing brackets, auto-code formatting and (partial) syntax highlight in .TSS files.

Now with the official Titanium Extension, and its perfect syntax highlight, I don't need the previous extension.

But currently it doesn't close quotes, brackets nor it does auto code formatting.

Can you please add this functionality to Titanium Extension???

Thanks!!

Improve folder selection on create project flow

Currently when we ask a user to select the directory that they'd like to place their project in we just throw up a dialog for them to pick the directory. To improve this we could put up a quick pick with an input field where the placeholder text informs them what to do and a browse button that will open the filepicker

Unable to install / debug

Getting:

Activating extension 'Axway.vscode-titanium' failed: Cannot find module '/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/extension'.

Use `ti info` to gather environment info

  • Edit the getInfo function to run ti info in place of appc info
  • Ensure that the json data returned is compatible with the existing code (at a glance appc cli just adds to the data and the structure should be nearly identical)

Prompt for Keystore Key Password

In some cases the keystore file for Android builds requires two different passwords for the keystore itself and the keystore key.

Currently only the first is requested, while the second is requested by the terminal to check before the build.

Is it possible to request both passwords?

Would it be possible to also save these passwords in a secure way, perhaps requesting confirmation from the user whether to save them or not?

This is usually a repetitive action and some very complex passwords are difficult to fill out. Furthermore, the password entry prompt closes when the focus is lost from Visual Studio Code, requesting to repeat the procedure from the beginning.

the distribute function is broken

Describe the Bug

this is the latest version 0.3, it was working before.
try to run "distribute" for either iOS or Android, it gave the error
Appcelerator Command-Line Interface, version 7.0.10
2019-03-31T22:17:25.554Z | ERROR | No valid targets for run. Are you in a project folder?

I think it switched to use the standard output console instead of the terminal, then it misses the current directory info for the command line. If I copy the command to terminal, it works fine.

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:

  1. open any project
  2. Click on 'distribute'
  3. See error

Expected Behavior

A clear and concise description of what you expected to happen.

Your Environment

| Software | Version |
Mac, 10.14
| Titanium SDK | |
8.0.0. GA
| Appcelerator CLI | |
7.0.10
| VS Code | |
| vscode-titanium | |
0.3

Logs

error log
appc "run" "--platform" "ios" "--target" "dist-appstore" "--log-level" "info" "--distribution-name" "xxxxx" "--pp-uuid" "xxxxx" --no-prompt

Appcelerator Command-Line Interface, version 7.0.10
Copyright (c) 2014-2019, Appcelerator, Inc. All Rights Reserved.

2019-03-31T22:17:25.554Z | ERROR | No valid targets for run. Are you in a project folder?

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Tracking issue - Support using Alloy/Titanium CLI

This is the overall tracking issue for supporting using Alloy/Titanium CLI from VS Code. It will list all items involved in the project as well as the order they should be done. Any general comments should go here, comments specific to an issue that is filed should go in the related issue.

First Steps

[ ] #32 Determine method of how preferred setup will be chosen.

  • We need a way for users to indicate they wish to use the Alloy/Titanium CLIs in place of the Appc CLI. I believe a config setting would be best to do this.

Building projects

Creating projects

Environment info gathering

Miscellaneous

Document settings

We have a variety of settings for the extension defined [here]https://github.com/appcelerator/vscode-appcelerator-titanium/blob/ed1089deaecfa0fc9f722be641e6c662d0c3155e/package.json#L231-L301). Currently these aren't listed anywhere, so we should do that.

Ideally this would be a generated list based off the items defined there, this can then be as part of the release process to ensure that we're always up to date. It should take the name, description and default value (if any) and make a nice markdown table. It might be easier to write this to a document specific to the settings and link to this from the readme as opposed to splicing it into the readme

Distribute > Last:Android not load the last parameters

Distribute => Last:Android execution not load the last parameters used after entering asked password. The path to the keystore file and the alias are "undefined".

Example:

appc "run" "--platform" "android" "--target" "dist-playstore" "--output-dir" "/Users/sandrolain/Documents/Titanium/MyProject/dist" "--keystore" "undefined" "--store-password" "********" "--alias" "undefined"

Completions improvements

The existing completions stuff is duplicated across both atom and vscode. If possible we should aim to use a single file in both projects. The possible options are to

  1. Keep the completions generation as it is today, but make the file be written to ~/.titanium/completions rather than the plugins directory. We could also write the file into a folder specific to the SDK ~/.titanium/completions/titanium/7.4.1.GA/completions.js to remove the current restriction of needing to regenerate completions when changing the project SDK version. This would also need to be mirrored for Alloy.
  2. Move the generation into the SDK build process and then just require that file, unsure on what happens to alloy here
  3. Remove the current completions file and just use the api.jsca file directly. Would require a large rewrite of the completions code.

Easiest is option 1, most sensible is option 2

Android emulator build error

The extension fails to build on a Genymotion emulator.

Steps to reproduce the Bug

  1. From the 'Titanium Explorer' within VS Code, select Android > Emulator > Then a Genymotion Emulator eg: "Google Nexus 5X ..."
  2. Click the play button to build and deploy to the emulator.

Build fails with [ERROR] Invalid "--device-id" value "Google"

since the device-id is clearly incorrect.

Expected Behavior

I expect it to work without throwing an error. )

Your Environment

macOs 10.13.6
VSCode 1.30.2
Ti SDK 7.5.0.GA (also 7.3.1.GA)

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Determine method of how preferred setup will be chosen

In order to do this, we will need to know which CLI is preferred. This should be toggleable by a user of the extension.

The current idea is something similar to how the eslint extension allows enabling/disabling eslint for a project. It writes "eslint.enabled": false to the .vscode/settings.json file in a project. This would allow developers sharing a setup to work in sync.

Provide functionality to check/update SDKs

Having used Appcelerator Studio for 4 years now - not having a simple GUI is the biggest gap I see that causes friction when trying to migrate from Studio to VS Code. It was very convenient, within Studio, to simply Check and update the Titanium CLI and SDKs.

If you could provide that functionality, in some kind of GUI or pseudo-GUI, instead of using the CLI, I believe this would make the migration to VS Code a no-brainer and possibly put Appcelerator in a potion to seriously consider shutting down Studio and getting out of the business of managing your own IDE.

Last Android Device undefined

After running the build on a physical Android device, the next execution shows "undefined" as the name of the last android device.

Schermata 2019-03-07 alle 16 19 17

The generated command is correct and execution is successful.

appc "run" "--platform" "android" "--log-level" "info" "--target" "device" "--device-id" "LGM2002878ed31" "--liveview"

Completion generation should not block startup

It appears that the completion generation is currently blocking startup, this should probably not be await-ed but happen in the background while we're initializing the activity pane and other bits n bobs

Log level not used

Log level configured is not used as a parameter for the execution command on simulator or distribution.

Asking Android SDK path continuously

Describe the Bug

Asking Android SDK path continuously

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:
When I try to run app its asking me android sdk path. and I m prompting path.its working fine. but after stop the run and re-run its asking me again.
I also set with this command
appc ti config android.sdk /Users/nazirdogan/Library/Android/sdk

screen shot 2019-01-07 at 17 43 18

screen shot 2019-01-07 at 17 44 09

Expected Behavior

Dont ask me android path

Your Environment

Software Version
Titanium SDK 7.5.0
Appcelerator CLI 5.1.1
VS Code Version 1.31.0-insider (1.31.0-insider)
vscode-titanium 0.13.0

Logs

Project creation fails

Describe the Bug

Creating a project currently fails silently.

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:

  1. Open command palette and search for "create application"
  2. Follow the prompts

Expected Behavior

App created and prompt given to open the directory

Add support for activity panel pane

VS Code does not allow us to have the same UI functionality as Atom where we can add buttons to the top bar. We can however add a view to the activity pane on the left side.

We could use this to show a tree view of the platform/targets/devices like the below. We could then have a context menu on right click that would offer the run options, it's possible to add some icons to the top of this view to enable refreshing the devices, enabling/disabling liveview etc.

Android
├── Device
│   ├── My Device
├── Emulators
│   ├── My Emulator
iOS
├── Device
│   ├── My iPhone
├── Simulator
│   ├── 12.0
│   │   ├── iPhone X

Add support for setting default keystore path

Is your feature request related to a problem? Please describe.
We currently have settings for titanium.android.keystoreAlias and titanium.android.keystorePath but they aren't referenced in code anywhere. I could definitely see this being useful for setting locally in a workspace so we should add it.

Describe the solution you'd like
When building for Android we check if there's a value for titanium.android.keystorePath, and use that to build the app if we find it. It might be good to somehow display to a user that we are using it.

Fix verbiage on environment validation error

Describe the Bug

The current verbiage on the error dialog on environment validation does not make sense, it should be updated to You are missing the following required components for Titanium development:

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:

  1. Uninstall the appcelerator npm package npm uninstall appcelerator -g
  2. Open the extension

Expected Behavior

The error dialog should have good verbiage that makes sense

Your Environment

Validate sdkVersion returned in generateCompletions

Describe the Bug

Get the following error when launching a workspace with the extension installed:

"Error generating autocomplete suggestions. The "path" argument must be of type string. Received type object"

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:

  1. Open VSCode
  2. Search for Extension
  3. Install
  4. Reload
  5. Error is shown after extension checks environment
  6. Autocomplete no longer works

Screenshot of error

https://cl.ly/a4fc866015b4

Managed to get log output:

vscode-customcss is active!
[vscode-icons] v8.6.0 activated!
[eg2.tslint] Accessing a window scoped configuration for a resource is not expected. To associate 'tslint.jsEnable' to a resource, define its scope to 'resource' in configuration contributions in 'package.json'.
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object
	at assertPath (path.js:39:11)
	at Object.join (path.js:1157:7)
	at Object.getSDKCompletionsFileName (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/providers/completion/completionItemProviderHelper.js:59:17)
	at Object.<anonymous> (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/providers/completion/completionItemProviderHelper.js:202:45)
	at Generator.next (<anonymous>)
	at __awaiter (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/providers/completion/completionItemProviderHelper.js:7:71)
	at new Promise (<anonymous>)
	at __awaiter (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/providers/completion/completionItemProviderHelper.js:3:12)
	at Object.generateSDKCompletions (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/providers/completion/completionItemProviderHelper.js:200:12)
	at /Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/extension.js:204:46
	at Generator.next (<anonymous>)
	at __awaiter (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/extension.js:7:71)
	at new Promise (<anonymous>)
	at __awaiter (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/extension.js:3:12)
	at generateCompletions (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/extension.js:195:12)
	at vscode.window.withProgress.appc_1.default.getInfo.error (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/extension.js:153:29)
	at ChildProcess.getInfo.proc.on (/Users/jkneen/Documents/Appcelerator_Studio_Workspace/vscode-appcelerator-titanium/out/appc.js:44:28)
	at ChildProcess.emit (events.js:182:13)
	at maybeClose (internal/child_process.js:961:16)
	at Process.ChildProcess._handle.onexit (internal/child_process.js:248:5)

Project dir not passed in when building modules

Describe the Bug

When building a module the project dir flag is not passed down to the CLI command causing the build to error out

Steps to reproduce the Bug

Steps to reproduce the behavior, e.g.:

  1. Open a module project
  2. Build the module for a platform

Expected Behavior

Build should complete

Redirect log output to OUTPUT tab rather than the TERMINAL

Right now all the logs from compile and run commands are shown under Terminal tab.
The VSCode terminal at times is slow and has issues in searching and volume of lines it can handle.

It would be better to redirect this in the OUTPUT tab.

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.