Commit Graph

236 Commits

Author SHA1 Message Date
Ivan Kravets 28d9f25f9a Added a new "-e, --environment" option to "platformio project init" command 2020-06-12 23:47:12 +03:00
Ivan Kravets 4a251f0ab0 Fix JSONDecodeError when bottle.SimpleTemplate is used 2020-04-27 23:41:36 +03:00
Valerii Koval ac1210fbea Add -imacros files to forcedInclude field in VSCode template 2020-04-26 00:35:22 +03:00
Valerii Koval a556573a4f Move env dependent directories to appropriate CMAKE_BUILD_TYPE // Issue #3460
This will allow to dynamically populate list of sources depending on
selected environment. At the same time "src" and "lib" folders remain
common for all environments
2020-04-21 22:01:07 +03:00
Valerii Koval 24c04057e9 CLion: Add paths to libraries specified via lib_extra_dirs option (#3463)
* Add paths to libraries specified via lib_extra_dirs option

Besides, global folders in SRC_LIST seem a bit unnecessary
since there might be unused libraries in these folders

* Refactor processing of includes when exporting IDE/Editor projects

Split includes according to their source. That will help export includes in a more flexible way.
For example some IDEs don't need include paths from toolchains

* Add new record to history log

* Typo fix
2020-04-21 17:37:55 +03:00
Ilia Motornyi b9fd97dae4 Changes required for CLion PlatformIO plugin (#3298) 2020-03-09 15:47:41 +02:00
Valerii Koval 154be7fa81 Improve VSCode template structure (#3385)
* Switch to click argument parser

* Typo fix

* Tidy up VSCode template

Co-authored-by: Ivan Kravets <me@ikravets.com>
2020-02-17 12:19:00 +02:00
valeros ed4452b115 Get rid of direct imports 2020-02-14 17:09:48 +02:00
valeros fbfbf340c1 Add "forceInclude" field to VSCode template
VScode doesn't recognize header files included via "-include" flag in "compilerArgs" field.
Instead, absolute paths to these files should be specified in a special section "forceInclude".
2020-02-14 16:43:20 +02:00
Ivan Kravets d0a6861369 Fix "TypeError: TypeError: write() argument 1 must be unicode" when generating project on Windows/Python 2 2020-02-12 15:14:58 +02:00
Ivan Kravets 86f2dde6f3 Do not overwrite a custom items in VSCode's "extensions.json" // Resolve #3374 2020-02-08 21:36:32 +02:00
Valerii Koval 0b0b63aa7d Update templates for Atom, VSCode, CLion (#3371)
* Wrap flags with whitespace chars when exporting data for IDEs

* Update IDEs templates

Take into account compiler flags that can contain whitespace characters (e.g. -iprefix)

* Update template for VSCode

* Add history record
2020-02-07 11:26:45 +02:00
Ivan Kravets b15ddc00a5 Pass extra files with compiler options to VSCode IntelliSense tool 2019-12-17 22:40:28 +02:00
valeros 8675d3fa46 Use proper CMake variables for setting compilation flags 2019-11-21 00:39:05 +02:00
Ivan Kravets b37814976c Fix project generator for CLion 2019-11-20 23:31:35 +02:00
Ivan Kravets 7eab5d567e Fix CLion generator when one env is used 2019-11-17 00:35:56 +02:00
Ivan Kravets 6809da0353 Replace os.path.abspath by realpath 2019-11-15 16:02:15 +02:00
Ivan Kravets 44a9de6dcb Pass -m and -i flags to VSCode Intellisense analyzer 2019-11-15 15:11:13 +02:00
Ivan Kravets f3992f8e53 Create dummy target for CLION 2019-11-05 15:59:06 +02:00
Ivan Kravets 66cc557d2f Export SVD Path to CLion 2019-11-05 15:16:50 +02:00
Ivan Kravets 9786b3e1b9 Fix CLion integration when project name contains a space 2019-11-05 15:16:35 +02:00
Ivan Kravets 3de2d84e2b Fixed an issue with a GCC Linter for PlatformIO IDE for Atom // Resolve #3218 2019-10-31 22:42:22 +02:00
valeros 087a8f6dd0 Fix Visual Studio template files encoding // Resolve #3183 2019-10-25 14:27:47 +03:00
Ivan Kravets ed6c9a08ce Add custom "PLATFORMIO_BUILD_DEBUG" target for CLion 2019-10-24 17:21:02 +03:00
Ivan Kravets be9aaf8902 Be compatible with Python 3.8, on Windows skip HOME and check for USERPROFILE 2019-10-17 20:57:40 +03:00
Ivan Kravets 6218b773fd Better support for file contents writing // Issue #2796 2019-10-17 18:48:59 +03:00
Ivan Kravets d2abac9b18 Fixed an issue when configuration file options partly ignored when `--project-conf` // Resolve #3034 (#3055)
* Fixed an issue when configuration file options partly ignored when using custom ``--project-conf`` // Resolve #3034

* Py2 compatible makedirs

* Fix circle dependency

* Fix broken import in test examples

* Fix history

* Remove YAPF markers

* PyLint fix

* Fix invalid project conf path

* Move PIO Core to the root on Windows, issue with long CPPPATHs

* Respect global PLATFORMIO_BUILD_CACHE_DIR env var

* Fix Appveyor paths

* Minor changes
2019-09-27 14:13:53 +03:00
Ivan Kravets 7c41c7c2f3 Introduce Black to automate code formatting 2019-09-23 23:13:48 +03:00
Ivan Kravets 7a07a2e63e Generate `.ccls` LSP file for Emacs 2019-09-03 15:31:33 +03:00
Ivan Kravets f966eeb604 Fixed an issue with project generator for CLion IDE when 2 environments were used // Resolve #2824 2019-08-30 16:40:44 +03:00
Ivan Kravets 34176f974b Fix generator for CLion when project is empty // Issue #2824 2019-08-30 15:45:21 +03:00
Ivan Kravets db6f983364 Fix issue for CLion project generator when environment contains space // Issue #2824 2019-08-30 10:55:13 +03:00
Ivan Kravets e08527a0af Cleanup CLion project generator 2019-08-29 16:58:18 +03:00
Ivan Kravets 4a6d5e8395 Added support for multi-environment PlatformIO project for CLion IDE // Resolve #2824 Resolve #2944 2019-08-29 16:26:51 +03:00
Teo-CD 1c8666e946 Clion integration, resolves #2824 (#2944)
* Better environement integration :
 - Environement can be selected in the build target menu of CLion
 - Platformio target runs on the selected environment
 - Changing environment changes defined preprocessor variables and includes accordingly
 - Added 'All' build profile that runs targets on all environment if there are multiple of them (Original behaviour)

* Calling get_project_dir() only once.

* Fixed include path not being converted to unix style.
Removed duplicate and not normalized  definition
2019-08-29 15:01:50 +03:00
Ivan Kravets 223a85baca CCLS LSP for VIM // Resolve #2952 2019-08-29 14:20:24 +03:00
Ivan Kravets 8037bef847 Move "to_unix_path" helper to FS module 2019-08-27 20:21:53 +03:00
Ivan Kravets a2830dd527 Automatically normalize file system paths to UNIX-style for Project Generator // Resolve #2857 2019-08-19 14:43:39 +03:00
Ivan Kravets 1dc15326c9 Export ProjectConfig instance to templates generator // Issue #2824 2019-08-18 11:06:52 +03:00
Ivan Kravets 1a3720cfb9 Ability to set "databaseFilename" for VSCode and C/C++ extension // Resolve #2825 2019-08-18 00:40:59 +03:00
Ivan Kravets 6a90388649 Move FS related helpers to fs.py module 2019-08-12 19:44:37 +03:00
Ivan Kravets c69e80249d Append system PATH to overridden in CDT project // Resolve #810 2019-07-04 22:56:54 +03:00
Ivan Kravets 2a4b25705c More pre-configured target for Eclipse IDE 2019-07-04 22:53:36 +03:00
Ivan Kravets 412a1f78cd Fixed an issue when generating invalid "Eclipse CDT Cross GCC Built-in Compiler Settings" if a custom PLATFORMIO_CORE_DIR is used // Resolve #806 2019-07-04 20:07:44 +03:00
Axel W 6739d5a570 In the current version of this template all build targets result (#2714)
in

   pio -c -f eclipse debug run target <mytarget>

The commit fixes this to be

   pio -c -f eclipse run target <mytarget>

See also discussion in forum:
   https://community.platformio.org/t/pio-4-0-0b3-potential-bug-in-cprojet-tpl/8390
2019-06-29 12:48:24 +03:00
Ivan Kravets e61caa37a8 Fix issue when CMakeListsUser.txt is not included // Resolve #2712 2019-06-27 14:04:16 +03:00
Peter 51115c1254 Ignore vscode-cpptools cache (#2623)
One of the recent updates to the vscode-cpptools extension made it start caching in .vscode/ipch, and this cache can be quite big for even small projects. Since they're cache files, they should be ignored by default. This may be a short-lived suggestion, as there is already some mention that the IntelliSense cache folder may be moved to workspace storage, rather than 'per project' storage... although the 'when' is anyone's guess. 

See here for more: https://github.com/microsoft/vscode-cpptools/issues/3347
2019-06-16 12:37:32 +03:00
Ivan Kravets 686d615639 Cast env_name to string // Resolve #2644 2019-06-07 13:14:14 +03:00
Ivan Kravets d09964a897 Use common IDE data loading for IDE and DEBUG 2019-06-03 19:20:10 +03:00
Ivan Kravets 4416c12747 Fix numerous issues related to "UnicodeDecodeError" and international locales, or when project path contains non-ASCII chars // Resolve #2100 2019-06-03 17:44:41 +03:00