/vscode-ionic

Visual Studio Code Ionic Extension

Primary LanguageTypeScriptOtherNOASSERTION

This extension for Visual Studio Code features:

Creating Ionic Projects

  • Open an Empty Folder
  • Choose a starter project
  • Your project will be created ready to run Video of creating a project

Running on Android

  • Choose Run On Android
  • Select the chosen emulator or connected Android device
  • Changes to source code are instantly updated in the app using Live Reload Video of running on Android

Running on iOS

  • Choose Run On iOS
  • Select the chosen simulator or connected iOS device
  • Changes to source code are instantly updated in the app using Live Reload Video of running on iOS

Adding Capacitor

  • Choose Integrate Capacitor
  • Required packages and setup will be applied to your web application or SPA Video of adding Capacitor

Upgrading Packages

  • Select a package from Packages section
  • Choose to Upgrade or Install
  • The Info option will launch the packages home page on npm
  • Select the Light Bulb icon next to a scoped package (eg @capacitor) to allow upgrading of all packages

Upgrade to a particular version

  • Find the package to upgrade from the Packages section
  • Click the ... icon on the right
  • Choose the version from the selection of released versions Video of upgrading packages

Capacitor Migration

  • Migrate a Cordova project to Capacitor
  • Incompatible plugins are flagged
  • Equivalent Capacitor plugins are identified and replaced
  • Plugins that are not required are removed
  • Video of migration to Capacitor

Native Project Settings

By opening the Configuration item you can set native projects settings:

  • Change Display Name, Version Number and Build Number.
  • A change in settings will be applied to both the iOS and Android project.
  • Handles when the iOS and Android settings are deliberately different from each other.
  • Video of Changing Native Project Settings

Angular Migrations

  • Angular migrations are now recommended

Follow up with manual steps documented at update.angular.io and run a npm install afterward to verify if there are any dependencies that also need updating to support the version of Angular you are updating to.

Splash Screen and Icons

A splash screen and icon image can be set:

  • The package @capacitor/assets will be installed as a dev dependency
  • Images will be generated by resizing for various iOS and Android sizes
  • These images will be included as part the native projects
  • Allows setting of Adaptive Icons which are used by Android

Error Assistant

Detects errors in swift, java, typescript, eslint, jasmine and jest files after operations.

  • Opens the place in code where the error occurs
  • Allows navigation to next and previous errors
  • Re-runs the operation when you correct the problem and save the file

Capacitor Preview

If you click Run > Web you will notice a QR Code. This can be scanned with this app which will launch and run your application. You now have a running application on your mobile device that will reload if you make a code change and save ("Live Reload").

Note: The App has a limited set of plugins which will work with your application.

Nx Support

Detects a Nx workspace and provides a Nx Project selector for apps. When an Nx project is selected menu options will reflect what the project is capable of (eg running a native iOS or Android app). The scripts section will also include the common Nx commands for build, test, lint and e2e.

Note: The extension only provides support for node package upgrades at the root of your Nx workspace.

Mono Repos in Folders

Detects a workspace where subfolders contain Ionic applications and provides a project selector.

Npm Workspaces Support

Detects when npm workspaces are used as part of a mono repo and provides a workspace selector.

pnpm Workspaces Support

Detects when pnpm workspaces are used as part of a mono repo and provides a workspace selector.

Lerna Support

Detects when Lerna is used as part of a mono repo and provides a workspace selector.

Yarn Workspaces Support

Detects when Yarn workspaces are used as part of a mono repo and provides a workspace selector.

Live Reload with HTTPS

The feature (Settings > Use HTTPS) will create a certificate and serve your application using HTTPS. Instructions to trust the certificate on web, iOS and Android are displayed.

Note: This feature is currently only available with Angular projects and will temporarily install a plugin due to a quirk with the Android web view not trusting user installed CA Certificates.

Debugging for Web

For debugging (adding breakpoints, inspecting variables and seeing console logging) use the options under the Debug folder. Debugging for web will launch a separate web browser instance that is debuggable (Google Chrome by Default). You can also choose Microsoft Edge from the settings option.

Debugging for Android

Debugging for Android can be done by first running for Android. Any web view instances found will appear under the Debug folder. This allows any in-app browser instances to also be debugged. Note: When debugging the extension will run a static web server on http://localhost:80 which is used to serve source map files which allows breakpoints to work correctly in VS Code.

Debugging for iOS

Debugging for iOS is not supported yet. Use Safari's debugging options documented here.

Submit Feedback

File an issue to provide feedback on bugs and feature requests.