GithubHelp home page GithubHelp logo

samuel-sung / magento2-phpstorm-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from magento/magento2-phpstorm-plugin

0.0 0.0 0.0 19.73 MB

PHPStorm Plugin for Magento 2

License: Open Software License 3.0

JavaScript 0.03% PHP 2.45% Java 93.99% HTML 3.54%

magento2-phpstorm-plugin's Introduction

Magento Commerce

PhpStorm Magento 2 Plugin

Version Downloads Made With Love

Installation

  1. Go to Settings > Preferences in the PhpStorm IDE
  2. Navigate to Plugins
  3. Click the Browse repositories... button and search for "Magento PhpStorm"
  4. Install the plugin and restart PhpStorm
  5. Go to Settings > Preferences > Languages & Frameworks > PHP > Frameworks > Magento in the PhpStorm IDE
  6. Check Enable and click the OK button

Works with

  • PhpStorm >= 2023.1
  • JRE >= 17

Features

  • Configuration smart completion and references for XML/JavaScript files
  • Navigate to configuration reference in scope of class/interface
  • Go to plugin reference in scope of class/interface and method
  • Navigate to Web API configuration reference in scope of class/interface and method
  • Plugin class methods generation
  • Plugin declaration inspection
  • RequireJS reference navigation and completion
  • MFTF reference navigation and completion
  • GraphQL navigation line markers
  • Code generation
  • Inspections for XML configuration

Setting up development environment

  1. Check out this repository
  2. Open a folder with the project in the IntelliJ Ultimate using the open action button.
  3. Make sure that you on the latest develop branch (e.g 5.2.0-develop)
  4. Right-click on the build.gradle file, choose "Import Gradle project" (if this is not exist look for "Build module ''") (you need to have Gradle plugin installed)
  5. Check if the right SDK version is used for the project.
    • Current Java version for the project is java 11, so you should additionally download SDK 11 and choose it in the module settings: Right click by the project root > Open Module Settings > Project Settings > Project > Project SDK
    • Check if right SDK version is used for the Gradle plugin: Intellij IDEA > Preferences... > Build, Execution, Deployment > Build Tools > Gradle > Gradle JVM and choose your JDK.
  6. When the Gradle sections appeared in the right bar, navigate there and right-click magento-2-php-storm-plugin > Tasks -> Intellij -> runIde
  7. Click Run "magento-2-php-storm-plugin" to run the plugin. You should see a new instance of IntelliJ launched with the plugin installed. Make sure the plugin is enabled in IntelliJ settings and indexing is finished. Plugin features should be accessible at this point.

How to contribute

  1. Start with looking into Community Backlog. Any ticket in Ready for Development and Good First Issue columns are a good candidates to start.
  2. Didn't satisfy your requirements? Create a new issue. It can be for example:
    • Bug report - Found a bug in the code? Let us know!
    • Enhancement - Know how to improve existing functionality? Open an issue describe how to enhance the plugin.
    • New feature proposal - Know how to make a killer feature? Do not hesitate to submit your proposal.
  3. The issue will appear in the Ready for Grooming column of the Community Backlog. Once it will be discussed and approved the issue will be ready for development.
  4. Refer to the Contributing Guide for more information on how to contribute.

How to create SandBox for development

  1. Create sandbox folder
  2. Copy to sandbox folder composer.json and composer.lock
  3. In sandbox folder create app/code and vendor/magento
  4. Copy any of the magento modules (as for example: framework, module-catalog, module-checkout, module-customer, module-sales) into the vendor/magento folder. It is better to add as few modules as possible to reduce reindexing time during application running
  5. (Nice to have) Open IDE and go to Preferences > Editor > File and Code Templates > Includes tab and add default headers for PHP File Header and XML File Header

PHP File Header:

/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

XML File Header:

<!--
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
-->

Join the #phpstorm-plugin Slack channel to get more involved

License

Each Magento source file included in this distribution is licensed under OSL-3.0 license.

Please read the LICENSE.txt for the full text of the Open Software License v. 3.0 (OSL-3.0).

magento2-phpstorm-plugin's People

Contributors

bohdan-harniuk avatar drpayyne avatar coderimus avatar eduard13 avatar vitaliyboyko avatar iamwade avatar doninatwix avatar anzin avatar prokopovvitaliy avatar dkvashninbay avatar konarshankar07 avatar iamdylanngo avatar mmezhensky avatar artemii-karkusha avatar pmclain avatar ihor-sviziev avatar paliarush avatar yevhenzvieriev avatar mgonzalez-droid avatar vrann avatar serhiyzhovnir avatar roma-glushko avatar lenaorobei avatar korovitskyi avatar joni-jones avatar dmitryfurs avatar danmooney2 avatar ferrmolina avatar melnikovi avatar convenient avatar

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.