vs 2013 integration - class view/code assist
Oliver Brinzing
Oliver.Brinzing at gmx.de
Fri Aug 21 04:44:05 PDT 2015
Hi
> And to add to Markus's response, it'd be great to have patches that improve things. So feel free to submit your fixes.
i think i have a small patch for vs 2013 ide integration - maybe someone can verify?
if one starts vs 2013 the first time after running "/opt/lo/bin/make vs2013-ide-integration"
vs complains about duplicate projects. altogether there are 2246 projects (lo 5.0.1).
i had a look into "LibreOffice.sln" and found, that a lot of projects have 6 entries (e.g. "Library
swui").
only the one with the "ProjectSection" node seems to be the valid one, but vs always includes only
the first.
i checked output from
(LC_MESSAGES=C C:/cygwin/opt/lo/bin/make cmd="C:/cygwin/opt/lo/bin/make -npf Makefile.gbuild all"
cmd || true)
and found 276 entries for "Library_swui", distributed over 6 different entries inside the 150 mb file.
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 20)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 30)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 41)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 49)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 77)
# makefile (from 'D:/sources/core/sw/Library_swui.mk', line 160)
now i checked "/bin/gbuild-to-ide":
"GbuildParser._parse_hash(self, line, state)" appends 2246 libname/exename, even if it's value is
"None".
adding "if libname != None:" / "if exename != None:" generates only 340 project entries:
[...]
def _parse_hash(self, line, state):
libmatch = GbuildParser.libpattern.match(line)
if libmatch:
libname = self.libnames.get(state.ilib, None)
if libname != None:
print('libname: %s' % libname, end='\n')
self.libs.append(
GbuildLib(libmatch.group(2), libname, libmatch.group(1),
state.include, state.include_sys, state.defs, state.cxxobjects,
state.cxxflags, state.linked_libs))
state = GbuildParserState()
return state
exematch = GbuildParser.exepattern.match(line)
if exematch:
exename = self.exenames.get(state.target, None)
if exename != None:
print('exename: %s' % exename, end='\n')
self.exes.append(
GbuildExe(exematch.group(2), exename, exematch.group(1),
state.include, state.include_sys, state.defs, state.cxxobjects,
state.cxxflags, state.linked_libs))
state = GbuildParserState()
return state
[..]
vs now complains only about 3 duplicate exe projects (soffice_bin, unopkg_com, unopkg_bin).
but projects "sw", "swui", "sc" and others have now class view and code assist :-)
Regards
Oliver
More information about the LibreOffice
mailing list