⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5-customizing source-navigator.mht

📁 这是著名的源码浏览工具(不仅仅浏览
💻 MHT
📖 第 1 页 / 共 5 页
字号:
database=20
cache size<BR>
<P class=3DBodyHang1>Enter the Cross-Reference database cache size in =
kilobytes or=20
accept the default value. Source-Navigator creates the project =
cross-reference=20
database with this cache size. Increasing this amount speeds up =
cross-reference=20
creation and data access but requires that more memory be allocated to=20
Source-Navigator.</P>
<P class=3DBodyListFollow><A name=3DpgfId-998282></A>This option can be =
changed only=20
when creating a project.</P>
<P class=3DBodyListFollow><A name=3DpgfId-998283></A>The recommended =
maximum size is=20
the amount of system memory divided by 32, up to 8 MB. The total of this =
amount=20
plus the amount allocated to the database cache should not exceed one =
quarter of=20
the total memory.</P>
<P class=3DBodyListFollow><A name=3DpgfId-1001724></A>For more details =
about this=20
parameter, see <A class=3DXRef=20
href=3D"http://sourcenav.sourceforge.net/online-docs/progref/dbaseAPI.htm=
l#15148">dbopen</A>=20
in the <A class=3DXRef=20
href=3D"http://sourcenav.sourceforge.net/online-docs/progref/dbaseAPI.htm=
l#22066">Database=20
API</A> chapter of the <STRONG class=3DBoldEmphasis>Programmer's =
Reference=20
Guide</STRONG>.</P>
<H5 class=3DHeading4><A name=3DpgfId-998285></A><A =
name=3D29232></A>Window</H5>
<P class=3DBody><A name=3DpgfId-998287></A><A =
name=3Dmarker-998286></A>Split=20
Windows<BR>
<P class=3DBodyHang1>These buttons control where new views appear when =
you add a=20
view to an existing window (from the <SPAN class=3DBold>Windows =
</SPAN>menu,=20
select <SPAN class=3DBold>Add View</SPAN>). </P>
<P class=3DBodyListFollow><A name=3DpgfId-998288></A>Select <SPAN=20
class=3DBold>Horizontal</SPAN> to have new views appear to the right of =
the=20
current pane; select <SPAN class=3DBold>Vertical</SPAN> to have new =
views appear=20
below the current pane.</P>
<P class=3DBody><A name=3DpgfId-998289></A>New Windows<BR>
<P class=3DBodyHang1>Selecting <SPAN class=3DBold>Reusable</SPAN> causes =
new=20
information to appear in the current window; deselecting it causes a new =
window=20
to appear when you choose a new symbol, tool, or view.</P>
<P class=3DBodyListFollow><A name=3DpgfId-998290></A>Selecting <SPAN =
class=3DBold>Keep=20
Context</SPAN> causes new tool windows to be opened to the same symbol =
context=20
as the current window; deselecting it causes a new tool to be empty when =
opened.=20
</P>
<P class=3DBody><A name=3DpgfId-998291></A>Window size is<BR>
<P class=3DBodyHang1>This setting controls the size of newly-created=20
Source-Navigator windows. You may also resize the windows after they are =

created.</P>
<H5 class=3DHeading4><A name=3DpgfId-998296></A><A=20
name=3Dmarker-998295></A>Internationalization</H5>
<P class=3DBody><A name=3DpgfId-998297></A>Character set encoding<BR>
<P class=3DBodyHang1>This combo-box allows you to choose the character =
set=20
encoding for your project to match the character set of your source =
files. </P>
<P class=3DBodyListFollow><A name=3DpgfId-998299></A>The default <A=20
name=3Dmarker-998298></A>character set for English, German, and most =
other=20
European languages is ISO8859-1. For Japanese, the default character set =
is=20
Shift-JIS.</P>
<H4 class=3DHeading3><A name=3DpgfId-998301></A><A =
name=3Dmarker-998300></A>Parser=20
tab</H4>
<P class=3DBody><A name=3DpgfId-998305></A>Source-Navigator uses plug-in =
parsers to=20
parse multiple programming languages. Choosing the appropriate parser is =
based=20
on <A name=3Dmarker-998306></A>file extensions.</P>
<P class=3DFigureTitle><A name=3DpgfId-998310></A>Parser Tab of the =
Preferences=20
Dialog</P>
<DIV><IMG=20
src=3D"http://sourcenav.sourceforge.net/online-docs/userguide/customsn-3.=
gif">=20
</DIV>
<P class=3DBody><A name=3DpgfId-1001740></A>Source-Navigator is =
pre-configured for=20
the most commonly used file types; these can be changed and new parsers =
can be=20
added. For more information on adding parsers, see the <A class=3DXRef=20
href=3D"http://sourcenav.sourceforge.net/online-docs/progref/addparsers.h=
tml#18979">Adding=20
Parsers</A> chapter of the <STRONG class=3DBoldEmphasis>Programmer's =
Reference=20
Guide</STRONG>.</P>
<P class=3DBody><A name=3DpgfId-998314></A>
<TABLE border=3D1>
  <CAPTION>
  <P class=3DTableTitle><A name=3DpgfId-998321></A><A =
name=3D37765></A>File Types and=20
  Associated Filename Extensions</P></CAPTION>
  <TBODY>
  <TR>
    <TH>
      <P class=3DCellHeading><A name=3DpgfId-998325></A>Parse source =
files as</P></TH>
    <TH>
      <P class=3DCellHeading><A name=3DpgfId-998327></A>File =
Extensions</P></TH></TR>
  <TR>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998329></A>PowerPC 601 =
assembly</P></TD>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998331></A><KBD =
class=3DCode>*.asm *.s=20
      *.S</KBD> </P></TD></TR>
  <TR>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998333></A>C/C++</P></TD>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998335></A><KBD =
class=3DCode>*.[hHcC]=20
      *.[ch]xx *.[ch]pp *.cc *.hh *.[CH]XX *.[CH]PP *.CC *.HH</KBD> =
</P></TD></TR>
  <TR>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998337></A>Cobol</P></TD>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998339></A><KBD =
class=3DCode>*.cbl=20
      *.cob</KBD> </P></TD></TR>
  <TR>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998341></A>FORTRAN</P></TD>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998343></A><KBD =
class=3DCode>*.f *.for=20
      *.FOR</KBD> </P></TD></TR>
  <TR>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998345></A>Java</P></TD>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998347></A><KBD =
class=3DCode>*.java</KBD>=20
      </P></TD></TR>
  <TR>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998349></A>others</P></TD>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998351></A><KBD =
class=3DCode>*.[ly]=20
      *[IMm]akefile</KBD> </P></TD></TR>
  <TR>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998353></A>Tcl <KBD =
class=3DCode>[incr=20
      Tcl]</KBD> </P></TD>
    <TD>
      <P class=3DCellBody><A name=3DpgfId-998355></A><KBD =
class=3DCode>*.tcl *.itcl=20
      *.itk *.tk</KBD> </P></TD></TR></TBODY></TABLE>
<P class=3DBody><A name=3DpgfId-998356></A>After each of the languages =
is an <SPAN=20
class=3DBold>External Editor</SPAN> text box; you may type in the =
executable=20
(shell) command for an external editor, or you may click the "<SPAN=20
class=3DBold>...</SPAN>" button to browse. If you leave the text box =
blank,=20
Source-Navigator uses its built-in editor.</P>
<H4 class=3DHeading3><A name=3DpgfId-998361></A><A =
name=3Dmarker-998360></A>Macro=20
processing</H4>
<P class=3DBody><A name=3DpgfId-998362></A>Macros make the task of =
source code=20
analysis more complicated, and there is no single right way to handle =
them. By=20
default, Source-Navigator treats them as opaque symbols and, aside from=20
recording where they are defined, it ignores them completely. This =
behavior not=20
only makes parsing substantially faster than true <A=20
name=3Dmarker-998366></A>compilation, but it also preserves the layer of =
source=20
code abstraction that is presented in the <SPAN =
class=3DBold>Editor</SPAN>. This=20
behavior is particularly useful when maintaining software that must run =
on=20
multiple platforms, and you would like to see all of the impacts that a =
change=20
might have, regardless of a macro's platform definition.</P>
<P class=3DBody><A name=3DpgfId-998367></A>For some projects and/or =
tasks, this=20
layer of abstraction is a barrier to code comprehension. For these =
cases, you=20
can direct Source-Navigator to define and expand macros in one of four =
ways:</P>
<UL>
  <LI class=3DBullet>
  <P class=3DBody><A name=3DpgfId-998372></A><KBD =
class=3DCode>define<BR>define</KBD>=20
  <A name=3Dmarker-998371></A>is used to insert a symbol into =
Source-Navigator's=20
  preprocessor namespace. If you <KBD class=3DCode>define FOO</KBD> (or =
<KBD=20
  class=3DCode>#define FOO</KBD>, the leading <KBD class=3DCode>#</KBD> =
is=20
  optional), then conditionals that test <KBD =
class=3DCode>#ifdef/#ifndef</KBD>=20
  are scanned according to the <KBD class=3DCode>#ifdef/#ifndef</KBD> <A =

  name=3Dmarker-998376></A>test. <KBD class=3DCode>FOO</KBD> will be =
replaced with=20
  the empty string.
  <P><A name=3DpgfId-998377></A><KBD class=3DCode>define</KBD> can also =
be used to=20
  give a symbol a value (such as <KBD class=3DCode>define FOO =
BAR</KBD>). This=20
  will not only inject the symbol into the namespace, but will cause=20
  Source-Navigator to scan <KBD class=3DCode>BAR</KBD> whenever it sees =
the <KBD=20
  class=3DCode>FOO</KBD> macro. This is particularly useful for <KBD=20
  class=3DCode>DEFUN</KBD> or <KBD class=3DCode>PROTO</KBD> macros that =
are used to=20
  bridge between K&amp;R and ANSI C but which otherwise are not =
interesting at=20
  the source code comprehension level. It is also useful when macros =
test=20
  numerical results, such as <KBD class=3DCode>#if (X &gt;=3D Y) or #if =
X</KBD>.
  <P><A name=3DpgfId-998381></A><KBD class=3DCode>define</KBD> macros =
can take=20
  arguments, just as in C and C++, and they can expand recursively. For =
example,=20

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -