{"action":"created","issue":{"url":"https://api.github.com/repos/platformio/platformio/issues/151","labels_url":"https://api.github.com/repos/platformio/platformio/issues/151/labels{/name}","comments_url":"https://api.github.com/repos/platformio/platformio/issues/151/comments","events_url":"https://api.github.com/repos/platformio/platformio/issues/151/events","html_url":"https://github.com/platformio/platformio/issues/151","id":66007928,"number":151,"title":"Allow to initialise PlatformIO project for the specified IDE","user":{"login":"ivankravets","id":1760209,"avatar_url":"https://avatars.githubusercontent.com/u/1760209?v=3","gravatar_id":"","url":"https://api.github.com/users/ivankravets","html_url":"https://github.com/ivankravets","followers_url":"https://api.github.com/users/ivankravets/followers","following_url":"https://api.github.com/users/ivankravets/following{/other_user}","gists_url":"https://api.github.com/users/ivankravets/gists{/gist_id}","starred_url":"https://api.github.com/users/ivankravets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivankravets/subscriptions","organizations_url":"https://api.github.com/users/ivankravets/orgs","repos_url":"https://api.github.com/users/ivankravets/repos","events_url":"https://api.github.com/users/ivankravets/events{/privacy}","received_events_url":"https://api.github.com/users/ivankravets/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/platformio/platformio/labels/command","name":"command","color":"5319e7"},{"url":"https://api.github.com/repos/platformio/platformio/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"valeros","id":886732,"avatar_url":"https://avatars.githubusercontent.com/u/886732?v=3","gravatar_id":"","url":"https://api.github.com/users/valeros","html_url":"https://github.com/valeros","followers_url":"https://api.github.com/users/valeros/followers","following_url":"https://api.github.com/users/valeros/following{/other_user}","gists_url":"https://api.github.com/users/valeros/gists{/gist_id}","starred_url":"https://api.github.com/users/valeros/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/valeros/subscriptions","organizations_url":"https://api.github.com/users/valeros/orgs","repos_url":"https://api.github.com/users/valeros/repos","events_url":"https://api.github.com/users/valeros/events{/privacy}","received_events_url":"https://api.github.com/users/valeros/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/platformio/platformio/milestones/8","html_url":"https://github.com/platformio/platformio/milestones/1.5.0","labels_url":"https://api.github.com/repos/platformio/platformio/milestones/8/labels","id":1050954,"number":8,"title":"1.5.0","description":"","creator":{"login":"ivankravets","id":1760209,"avatar_url":"https://avatars.githubusercontent.com/u/1760209?v=3","gravatar_id":"","url":"https://api.github.com/users/ivankravets","html_url":"https://github.com/ivankravets","followers_url":"https://api.github.com/users/ivankravets/followers","following_url":"https://api.github.com/users/ivankravets/following{/other_user}","gists_url":"https://api.github.com/users/ivankravets/gists{/gist_id}","starred_url":"https://api.github.com/users/ivankravets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivankravets/subscriptions","organizations_url":"https://api.github.com/users/ivankravets/orgs","repos_url":"https://api.github.com/users/ivankravets/repos","events_url":"https://api.github.com/users/ivankravets/events{/privacy}","received_events_url":"https://api.github.com/users/ivankravets/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2015-04-02T19:58:37Z","updated_at":"2015-04-02T20:41:35Z","due_on":null,"closed_at":null},"comments":1,"created_at":"2015-04-02T20:41:28Z","updated_at":"2015-04-02T21:29:43Z","closed_at":null,"body":"Aims\r\n====\r\nPlatformIO can be integrated to multiple IDE/editors using a few installation/customisation steps. They are described in [main documentation](http://docs.platformio.org/en/latest/ide.html). Will be useful to have additional option ``--ide`` to [platformio init](http://docs.platformio.org/en/latest/userguide/cmd_init.html) command.\r\n\r\nHow it works\r\n==========\r\nIf user specifies supported ``--ide`` type, then PlatformIO generates fully compatible project for the specified IDE (configuration files, etc.). This project can be imported later via ``IDE -> Import Project`` and should contain preconfigured settings:\r\n\r\n* **Include Search Path**: add to \"Indexer Include Path\" all paths from toolchain, framework, SDK\r\n* **Build System**: configure build system for project to: build command - ``platformio --quiet run``, clean command - ``platformio --quiet run --target clean`` \r\n* **Preprocessor definitions/symbols**: Specific definitions based on board type, like ``__AVR_ATmega328__``\r\n\r\nIDE\r\n===\r\n\r\nWe should support these IDE/Editors from the beginning:\r\n\r\n* ``eclipse`` Eclipse\r\n* ``visualstudio`` Visual Studio\r\n* ``sublimetext`` Sublime Text\r\n* ``qtcreator`` Qt Creator\r\n\r\nExamples\r\n========\r\n\r\n```shell\r\n# Arduino compatible project for Eclipse\r\n$ platformio init --board=uno --ide=eclipse\r\n\r\n# mbed compatible project for Microsoft Visual Studio\r\n$ platformio init --board=lpc1768  --ide=visualstudio\r\n```\r\n\r\nQuestions\r\n========\r\n\r\n**How about multiple ``--board`` options or environments?**\r\n\r\nIf more then one board is specified, then \"first-generated\" environment should be used. Nevertheless, we will add additional option, like ``use_for_ide = true`` to   ``[env:xxx]`` group in ``platformio.ini``.\r\n"},"comment":{"url":"https://api.github.com/repos/platformio/platformio/issues/comments/89049920","html_url":"https://github.com/platformio/platformio/issues/151#issuecomment-89049920","issue_url":"https://api.github.com/repos/platformio/platformio/issues/151","id":89049920,"user":{"login":"ivankravets","id":1760209,"avatar_url":"https://avatars.githubusercontent.com/u/1760209?v=3","gravatar_id":"","url":"https://api.github.com/users/ivankravets","html_url":"https://github.com/ivankravets","followers_url":"https://api.github.com/users/ivankravets/followers","following_url":"https://api.github.com/users/ivankravets/following{/other_user}","gists_url":"https://api.github.com/users/ivankravets/gists{/gist_id}","starred_url":"https://api.github.com/users/ivankravets/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ivankravets/subscriptions","organizations_url":"https://api.github.com/users/ivankravets/orgs","repos_url":"https://api.github.com/users/ivankravets/repos","events_url":"https://api.github.com/users/ivankravets/events{/privacy}","received_events_url":"https://api.github.com/users/ivankravets/received_events","type":"User","site_admin":false},"created_at":"2015-04-02T21:29:43Z","updated_at":"2015-04-02T21:29:43Z","body":"@valeros please look into @0xc0170 https://github.com/0xc0170/project_generator \r\n\r\nLooks like what do we need. Nevertheless, ``project_generator `` supports only ``eclipse``, but we can extend this list via [templates](https://github.com/0xc0170/project_generator/tree/master/project_generator/templates)."}}