diff --git a/platformio/ide/projectgenerator.py b/platformio/ide/projectgenerator.py index 3ee2b1e9..c97b8bbd 100644 --- a/platformio/ide/projectgenerator.py +++ b/platformio/ide/projectgenerator.py @@ -4,7 +4,7 @@ import json from glob import glob from os import listdir, walk -from os.path import basename, isdir, join +from os.path import abspath, basename, expanduser, isdir, join, relpath import bottle @@ -67,12 +67,12 @@ class ProjectGenerator(object): def get_project_name(self): return basename(self.project_dir) - @staticmethod - def get_srcfiles(): + def get_srcfiles(self): result = [] - for root, _, files in walk(util.get_projectsrc_dir()): - for f in files: - result.append(join(root, f)) + with util.cd(self.project_dir): + for root, _, files in walk(util.get_projectsrc_dir()): + for f in files: + result.append(relpath(join(root, f))) return result def get_tpls(self): diff --git a/platformio/ide/tpls/visualstudio/platformio.vcxproj.filters.tpl b/platformio/ide/tpls/visualstudio/platformio.vcxproj.filters.tpl index 1b4a764e..716218f9 100644 --- a/platformio/ide/tpls/visualstudio/platformio.vcxproj.filters.tpl +++ b/platformio/ide/tpls/visualstudio/platformio.vcxproj.filters.tpl @@ -3,27 +3,27 @@ {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx;ino;pde {93995380-89BD-4b04-88EB-625FBE52EBFB} h;hh;hpp;hxx;hm;inl;inc;xsd - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - {cad450ef-1a84-42d4-a5b5-a1736b8833d3} - - - - - - Source Files\src - + % for file in srcfiles: + + % if any([file.endswith(".%s" % e) for e in ("h", "hh", "hpp", "inc")]): + + Header Files + + % else: + + Source Files + + %end + + % end diff --git a/platformio/ide/tpls/visualstudio/platformio.vcxproj.tpl b/platformio/ide/tpls/visualstudio/platformio.vcxproj.tpl index 2b3aa1f9..031cef8d 100644 --- a/platformio/ide/tpls/visualstudio/platformio.vcxproj.tpl +++ b/platformio/ide/tpls/visualstudio/platformio.vcxproj.tpl @@ -49,16 +49,23 @@ - - - - - - % for file in srcfiles: - - % end - + + + + % for file in srcfiles: + + % if any([file.endswith(".%s" % e) for e in ("h", "hh", "hpp", "inc")]): + + Header Files + + % else: + + Source Files + + %end + + % end