diff --git a/platformio/ide/tpls/clion/.idea/workspace.xml.tpl b/platformio/ide/tpls/clion/.idea/workspace.xml.tpl
index d50b1de3..d9cf6a8f 100644
--- a/platformio/ide/tpls/clion/.idea/workspace.xml.tpl
+++ b/platformio/ide/tpls/clion/.idea/workspace.xml.tpl
@@ -171,10 +171,6 @@
-
-
-
-
@@ -207,17 +203,6 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/platformio/ide/tpls/clion/CMakeLists.txt.tpl b/platformio/ide/tpls/clion/CMakeLists.txt.tpl
index 08e69681..c3ff24f9 100644
--- a/platformio/ide/tpls/clion/CMakeLists.txt.tpl
+++ b/platformio/ide/tpls/clion/CMakeLists.txt.tpl
@@ -74,4 +74,10 @@ add_custom_target(
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
+add_custom_target(
+ PLATFORMIO_DEVICE_LIST ALL
+ COMMAND ${PLATFORMIO_CMD} -f -c clion device list
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+)
+
add_executable(${PROJECT_NAME} ${SRC_LIST})
diff --git a/platformio/ide/tpls/clion/CMakeListsPrivate.txt.tpl b/platformio/ide/tpls/clion/CMakeListsPrivate.txt.tpl
index 680a79a9..50a971da 100644
--- a/platformio/ide/tpls/clion/CMakeListsPrivate.txt.tpl
+++ b/platformio/ide/tpls/clion/CMakeListsPrivate.txt.tpl
@@ -63,9 +63,8 @@ endif()
% ide_data = load_project_ide_data(project_dir, leftover_envs)
% end
%
-% for env in leftover_envs:
+% for env, data in ide_data.items():
if (CMAKE_BUILD_TYPE MATCHES {{ env }})
-% data = ide_data[env]
% for define in data["defines"]:
add_definitions(-D'{{!re.sub(r"([\"\(\)#])", r"\\\1", define)}}')
% end