PageRenderTime 93ms CodeModel.GetById 81ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 0ms


XML | 686 lines | 654 code | 26 blank | 6 comment | 0 complexity | 5fd491bb0e24233b574319308d2c9a38 MD5 | raw file
  1<!-- jEdit buffer-local properties:                     -->
  2<!-- :indentSize=1:noTabs=true:maxLineLen=72:tab Size=2: -->
  4<!-- jEdit FAQ									        -->
  5<!-- Copyright (C) 2002 John Gellene                    -->
  7<!-- $Id: faq-items1.xml 4040 2002-02-17 13:41:20Z jgellene $
 10<sect1 id="faq-intro"><title>Introduction</title>
 12  This document explains many of the basic features of jEdit and provides
 13  solutions for commonly encountered problems. It is not the principal
 14  resource for learning how to use and customize jEdit. The application
 15  includes an extensive User's Guide available from within jEdit by
 16  selecting <guimenuitem>jEdit Help</guimenuitem> on the
 17  <guimenu>Help</guimenu> menu.
 20  The User's Guide includes tutorials on writing macros and plugins as
 21  well as an annotated guide to jEdit's Application Programming Interface
 22  (API). It is worth browsing through the User's Guide to get a full sense
 23  of what jEdit has to offer. This document is intended to supplement the
 24  User's Guide by focusing on specific, relatively narrow topics in the
 25  traditional question-and-answer format.
 28  Each section of this document deals with a different category of topics,
 29  and each begins with a listing of the questions covered. This should
 30  allow you to find the information you are seeking quickly.
 35<sect1 id="getting-jedit"><title>General Information and Availability</title>
 37  This section deals with some background information and how to obtain the
 38  latest version of jEdit.
 41<qandaset defaultlabel="qanda">
 43  <qandadiv id="about">
 44    <title>About jEdit</title>
 45    <qandaentry>
 46      <question id="whatis"><para>
 47        What is jEdit?
 48      </para></question>
 49      <answer><para>
 50        jEdit is a programmer's text editor written in Java, being
 51        developed by Slava Pestov and others. It has an easy to use
 52        interface that resembles that of many other Windows and MacOS
 53        text editors.  It is also highly customizable, and contains a
 54        <quote>plugin</quote> architecture that allows its features to
 55        be extended by additional programs.
 56      </para></answer>
 57    </qandaentry>
 58    <qandaentry>
 59      <question id="difftext"><para>
 60        What is the difference between a text editor and a word
 61        processor?
 62      </para></question>
 63      <answer><para>
 64        These categories are not absolute but refer to the primary
 65        purpose of an editing program and the focus of its features.
 66        </para>
 67        <para>
 68        A text editor is an application that edits files containing plain text
 69        without automatically formatting the text for printing or other publication.
 70        Typically the contents of such a file consists of data used by another
 71        application - for example, source code that a compiler will process or
 72        markup text that a web browser will display. A word processor deals with
 73        the preparation of documents for printing or similar publication.
 74        Besides editing text, a modern word processor allows the user to choose
 75        multiple fonts, margin sizes, line spacing, indentation, and a variety
 76        of other details that affect the appearance of the document being
 77        edited. In a text editor, these features are present, if at all, only in
 78        a basic form, and for the limited purpose of helping the user compose
 79        and organize the text. In place of word processing features, a text
 80        editor contains many features that allow the user to prepare and work with
 81        text quickly and efficiently.
 82        </para>
 83        <para>
 84        The jEdit application is a text editor, not a word processor. It
 85        contains a large assortment of features for manipulating source code,
 86        markup text, and other text files. As a programmer's text editor, it
 87        also has many features to help programmers manage their projects and
 88        work with other programming tools.
 89      </para></answer>
 90    </qandaentry>
 91    <qandaentry>
 92      <question id="features"><para>
 93        What features does jEdit have?
 94      </para></question>
 95      <answer><para>
 96        The short answer is, too many to list here.  There is a detailed
 97        list available on the <ulink
 98        url="">jEdit web
 99        site</ulink>, but here are some of the major features:
100       </para>
101       <itemizedlist>
102          <listitem><para>
103            Comprehensive online help
104          </para></listitem>
105          <listitem><para>
106            Multiple editor windows and split editing panes within a single
107            editing window
108          </para></listitem>
109          <listitem><para>
110            Unlimited undo/redo
111          </para></listitem>
112          <listitem><para>
113            Copy and paste with an unlimited number of clipboards
114            (known as <quote>registers</quote>)
115          </para></listitem>
116          <listitem><para>
117            <quote>Markers</quote> for remembering positions
118            in files to return to later
119          </para></listitem>
120          <listitem><para>
121            Rectangular selection
122          </para></listitem>
123          <listitem><para>
124            Multiple selection for manipulating several chunks of text at once
125          </para></listitem>
126          <listitem><para>
127            Syntax highlighting for more than 60 file types
128          </para></listitem>
129          <listitem><para>
130            Intelligent bracket matching that skips quoted literals
131            and comments
132          </para></listitem>
133          <listitem><para>
134            Auto indent and word wrap
135          </para></listitem>
136          <listitem><para>
137            Abbreviations
138          </para></listitem>
139          <listitem><para>
140            <quote>Folding</quote> display mode that hides levels of
141            indented text specified by the user
142          </para></listitem>
143          <listitem><para>
144            Search and replace using both literal text and regular expressions
145          </para></listitem>
146          <listitem><para>
147            <quote>HyperSearch</quote> option to show all found
148            matches in a list
149          </para></listitem>
150          <listitem><para>
151            File management functions available from within jEdit, including
152            deleting and renaming files and creating new directories
153          </para></listitem>
154          <listitem><para>
155            Choice of character encoding for loading and saving files
156          </para></listitem>
157          <listitem><para>
158            Automatic compression and decompression of GZipped (.gz) files
159          </para></listitem>
160          <listitem><para>
161            Plugin support for loading files from ZIP and TAR archives
162          </para></listitem>
163          <listitem><para>
164            Plugin support for loading and saving files on FTP servers
165          </para></listitem>
166          <listitem><para>
167            Fully customizable keyboard shortcuts, tool bar and right-click
168            context menu
169          </para></listitem>
170          <listitem><para>
171            Macro system permitting recording and writing of macros in the
172            BeanShell scripting language
173          </para></listitem>
174          <listitem><para>
175            An internal <quote>plugin manager</quote> that downloads and installs
176            new and updated plugins from within jEdit
177          </para></listitem>
179        </itemizedlist>
180      </answer>
181    </qandaentry>
183    <qandaentry>
184      <question id="what-plugin"><para>
185        What is a jEdit <quote>plugin</quote>?
186      </para></question>
187      <answer><para>
188        A plugin is an application that is designed to work with jEdit
189        by providing additional features that can be used from within
190        the main program. Often the plugin will provide a visible user
191        interface in a window that can be docked to jEdit's main view
192        window.
193      </para>
194      <para>
195        There are currently over 40 publicly available plugins that
196        provide such services as a Java source code browser, a
197        command-line shell, templated text insertion, and source code
198        project management. They can be downloaded, installed, and kept
199        current from within jEdit's <quote>Plugin Manager</quote>.
200        There is also a section of the jEdit web site called <ulink
201        url="">Plugin Central</ulink> that
202        maintains a descriptive index and download links for all publicly
203        available plugins.
204      </para>
205      <para>
206        Additional questions and answers regarding plugins may be found
207        in the section of this document entitled
208        <link linkend="plugins"><quote>Working with
209        Plugins</quote></link>.
210      </para></answer>
211    </qandaentry>
213    <qandaentry>
214      <question id="get-doc"><para>
215        How do I get documentation on jEdit?
216      </para></question>
217      <answer><para>
218        There is a comprehensive User's Guide available from within the program
219        using the <guimenu>Help</guimenu> menu. The User's Guide can also
220        be downloaded from the <ulink
221        url=";platform=source">
222        jEdit web site</ulink> in Portable Document Format (PDF), suitable for
223        online display or printing.
224      </para></answer>
225    </qandaentry>
226    <qandaentry>
227      <question id="is-newsgroup"><para>
228        Is there a newsgroup or mailing list devoted to jEdit?
229      </para></question>
230      <answer><para>
231        Currently there is no newsgroup devoted to jEdit. There are three
232        active mailing lists that are freely available by subscription:
233      </para>
234      <itemizedlist>
235        <listitem><para>
236          The <ulink url=
237          "">
238          jedit-users list</ulink>, for comments and questions about
239          using jEdit and its features
240        </para></listitem>
241        <listitem><para>
242          The <ulink url=
243          "">
244          jedit-devel list</ulink>, for discussion of development issues by
245          members of the developer team and other interested persons
246        </para></listitem>
247        <listitem><para>
248          The <ulink url=
249          "">
250          jedit-announce list</ulink>, a low-volume list used for announcing
251          new releases of jEdit and plugins
252        </para></listitem>
253      </itemizedlist>
254      <para>
255        Each of these lists can be obtained on a full-text message or a daily
256        digest basis.  The daily digest bundles groups of postings in a single
257        email message.
258      </para>
259      <para>
260        If you are only interested in version announcements and plugin updates,
261        <ulink url="">
262        subscribe to the jedit-announce list</ulink>. If you would like to participate
263        in discussion or ask questions regarding jEdit, <ulink url=
264        "">subscribe to the
265        jedit-users list</ulink>. If you are interested in jEdit's development or want
266        to write plugins, <ulink
267        url="">
268        subscribe to jedit-devel</ulink>.
269      </para>
270      <para>
271        Do not cross-post to both lists. All jEdit developers are
272        subscribed to both the jedit-users and jedit-devel lists, so a post to
273        jedit-users will be seen by most members of both lists. Also, keep in
274        mind that both jEdit-users and
275        jEdit-devel are high-traffic lists, and can fill up your mailbox unless
276        you check your email regularly.
277      </para>
278      </answer>
279    </qandaentry>
280    <qandaentry>
281      <question id="is-website"><para>
282        Is there a web site devoted to jEdit?
283      </para></question>
284      <answer><para>
285        There are several. The official <ulink url="">jEdit
286        web site</ulink> contains extensive information on all things having to
287        do with jEdit. There are also resources available for those interested
288        in jEdit development on the <ulink url=
289        "">jEdit project page</ulink> of
290        the <ulink url="">SourceForge web site</ulink>.
291      </para>
292      <para>
293        The <ulink url="">jEdit Community</ulink> web
294        site has articles on jEdit and related topics, user-submitted macros and
295        other download resources, and listings of web links of interest to jEdit
296        users. It has a message board system to allow users to ask
297        questions and provide feedback on the project without having to subscribe
298        to jEdit's mailing lists. Because the message boards have relatively low
299        volume, using the mailing lists will often be a more effective
300        approach.
301      </para>
302      <para>
303          The jEdit Community site also has an <quote>Interactive FAQ</quote>
304          facility that allows you to post questions to be answered by
305          other users, and a screenshot gallery containg images
306          submitted by users.
307      </para></answer>
308    </qandaentry>
309    <qandaentry>
310      <question id="copyright"><para>
311        Are there copyright restrictions on the use of jEdit?
312      </para></question>
313      <answer><para>
314        The jEdit application is free, <quote>Open Source</quote> software released
315        under the <ulink url="">
316        GNU General Public License</ulink>. This ensures that jEdit and its source
317        code remains freely available for use and distribution by the public.
318        For specific copyright questions, you should review the General Public
319        License and seek appropriate advice. Broadly speaking, there are no
320        restrictions on the use of the program as a text editor, and its source
321        code can be copied or modified for use in another program that is
322        governed by the General Public License.
323      </para>
324      <para>
325        Plugin application that are available using jEdit's Plugin Manager
326        facility, as well as plugins available through the <ulink
327        url="">Plugin Central</ulink> web site or
328        <ulink url="">jEdit Community</ulink>, are
329        governed either by the General Public License or another commonly
330        recognized <quote>Open Source</quote> software license.  This means
331        that use of the application, including use for commercial purposes,
332        is unrestricted without any requirement of royalty or license fee payments.
333        To incorporate source code or an application or plugin as a whole in another
334        application, you must consult the specific license terms to determine
335        whether and on what basis you are permitted to do so.
336      </para>
337      </answer>
338    </qandaentry>
339    <qandaentry>
340      <question id="java-only"><para>
341        Is jEdit only useful for programming in Java?
342      </para></question>
343      <answer><para>
344        Absolutely not. Many of the jEdit's plugin applications, and a few of
345        the macros distributed with the program, target the Java language or
346        integrate tools used in Java development.  However, the core application
347        is designed to work with any programming or markup language.  Included
348        with jEdit are packages providing syntax highlighting,
349        abbreviations and other programming support for over 60 programming
350        languages and file types, including C, C++, C#,
351        Cobol, HTML, Java, Javascript, Lisp, Pascal, Perl, PHP, Python,
352        TCL, Visual Basic and XML. The full list can be found on the
353        <ulink url="">jEdit web
354        site</ulink>.
355      </para></answer>
356    </qandaentry>
357    <qandaentry>
358      <question id="knowing-java"><para>
359        Do I need to know Java to use jEdit?
360      </para></question>
361      <answer><para>
362        No. In fact, you do not need to know any specific programming language
363        other than the ones with which you work.
364      </para>
365      <para>
366        At some point in your use of jEdit, you will no doubt want to write your
367        own macros to execute long or complex routines with a single command or
368        keyboard shortcut. Macros in jEdit are written in a simplified dialect
369        of Java called <ulink url=""> BeanShell</ulink>.
370        Its syntax will be familiar to users of Java, C++ and other
371        object-oriented languages, and it is not hard to learn even if you have
372        no experience with those languages.  The User's Guide provided
373        with jEdit contains an extensive tutorial on writing macros.
374      </para></answer>
375    </qandaentry>
376    <qandaentry>
377      <question id="needed-software"><para>
378        What software do I need to install and run jEdit?
379      </para></question>
380      <answer><para>
381        Since jEdit runs on a Java platform, at a minimum you will need a Java
382        Runtime Environment (JRE) package. If you are planning to use jEdit to
383        program in Java, you will need a full Java Development Kit (JDK) package.
384        We recommend obtaining a JDK package.
385      </para>
386      <para>
387        The current version of jEdit, version 4.0, requires a Java runtime
388        environment having a release version of 1.3 or greater.  It will
389        not run on versions 1.1 or 1.2. The <ulink
390        url="">jEdit web
391        site</ulink> contains a detailed discussion on the compatibility of
392        various publicly available JDK's for the major operating systems.
393      </para></answer>
394    </qandaentry>
395    <qandaentry>
396      <question id="just-learning"><para>
397        I've just started to learn programming. Is jEdit a good choice for my
398        first text editor?
399      </para></question>
400      <answer><para>
401        It is an excellent choice. Its basic features are extremely easy to use,
402        and you will find things like abbreviations, keyboard shortcuts and
403        macros to be great time-savers. It has built-in packages called
404        <quote>edit modes</quote> that automatically display keywords, tags, and
405        other program elements in different colors, making it easier to view and
406        organize your code. It works well with many Open Source and proprietary
407        programming tools. Because of its extensive customization features, it
408        can adapt to your preferences and work patterns as you become more
409        experienced. Finally, it's free, so you can buy a lot of programming texts
410        with the money you will save.
411      </para></answer>
412    </qandaentry>
414  </qandadiv>
416  <qandadiv id="latest-version">
417    <title>Getting the latest version</title>
418    <qandaentry>
419      <question id="get-latest-version"><para>
420        How do I obtain the latest version of jEdit?
421      </para></question>
422      <answer><para>
423        The program is in a continuing state of evolution. It is usually
424        available in two versions, a <quote>stable</quote> version and a
425        <quote>development</quote> version. A stable version represents a
426        release of jEdit that is considered to be free of serious bugs or
427        performance problems and suitable for general use. A
428        <quote>development</quote> version includes new features or new elements
429        of program design that require testing and possible further refinement.
430        A development version contains the token <quote>pre</quote> in its
431        version number, as in <literal>4.0pre5</literal>.
432      </para>
433      <para>
434        The latest stable and development versions of jEdit are always
435        available from the <ulink url="">jEdit
436        web site</ulink> and from the <ulink url="
437        projects/jedit">jEdit project page</ulink> of the
438        <ulink url="">SourceForge web site</ulink>,
439        which hosts jEdit's development resources.
440      </para>
441      <para>
442        In addition, a plugin named <application>Check jEdit
443        Version</application> can be run from within jEdit by selecting
444        <guimenuitem>Check jEdit Version</guimenuitem> from the application's
445        <guimenu>Plugins</guimenu> menu. It queries the jEdit web site, compares
446        version information with the version of the currently running
447        instance of jEdit, and reports the result to the user in a message box.
448        It will tell you if you do not have the latest version of jEdit, regardless
449        of whether that version is in <quote>stable</quote> or
450        <quote>development</quote> form.
451      </para>
452      <para>
453        Finally, if you subscribe to the <ulink
454        url="">
455        jedit-announce</ulink> or <ulink
456        url="">
457        jedit-users</ulink> mailing lists, you will receive a email whenever
458        a new release of jEdit becomes available.
459      </para></answer>
460    </qandaentry>
461    <qandaentry>
462      <question id="get-source"><para>
463        How do I obtain a copy of the jEdit source code?
464      </para></question>
465      <answer><para>
466        The latest version of jEdit's source code is available from the
467        <ulink url=";platform=source">
468        jEdit web site</ulink> or the <ulink url=
469        "">
470        SourceForge web site</ulink>. The web site provides the source code for the
471        latest stable and development version, while the SourceForge site has
472        a more extensive archive covering earlier versions.
473      </para>
474      <para>
475        If you are interested in testing the absolutely latest changes to jEdit,
476        and you are familiar with compiling your own Java programs and working
477        with CVS, you can download the current code maintained in the <ulink
478        url="">SourceForge
479        CVS repository</ulink>.
480      </para></answer>
481    </qandaentry>
482    <qandaentry>
483	    <question id="get-latest-faq"><para>
484        Where can I get the latest version of this document?</para>
485      </question><answer>
486        <para>
487          The latest release of this document is available at the
488          <ulink
489          url=";name=Include_Pages&amp;file=index&amp;req=viewarticle&amp;artid=5">
490          jEdit Community web site</ulink>.
491        </para>
492      </answer>
493    </qandaentry>
497	<question id="jedit-compile">
498		<para>
499			How do you set the classpath and compile the java files in jEdit?
500		</para>
501	</question>
502	<answer>
503		<para>
504			Consult an article on the <ulink url="">jEdit
505			Community</ulink> web site entitled <quote>Build jEdit yourself: the 'Open'
506			in Open Source</quote>.
507		</para>
508	</answer>
511  </qandadiv>
517<sect1 id="problems"><title>Getting Answers and Reporting Problems</title>
519  This section deals with how to get answers to questions that the
520  documentation does not address, how you can report problems with jEdit
521  or its plugins, and how best to communicate with the jEdit developer team.
523<qandaset defaultlabel="qanda">
525  <qandadiv id="get-answers-div">
526    <title>Getting answers</title>
527    <qandaentry>
528      <question id="get-answers"><para>
529        How do I get answers to my questions about jEdit?
530      </para></question>
531      <answer>
532        <para>
533          You should look for answers in the following places:
534        </para>
535        <itemizedlist>
536          <listitem><para>
537            The User's Guide available from the application's
538            <guimenu>Help</guimenu> menu.
539          </para></listitem>
540          <listitem><para>
541            This FAQ document.
542          </para></listitem>
543          <listitem><para>
544            The archives of jEdit's mailing lists.  Archives for both the
545            <ulink url="">
546            jedit-users list</ulink> and the
547            <ulink url="">
548            jedit-devel list</ulink> are available.
549          </para></listitem>
550        </itemizedlist>
551        <para>
552            If you cannot find help using those resources, post your question to the
553            <ulink url=""> jedit-users
554            list</ulink>. You will have to <ulink
555            url="">
556            subscribe to the mailing list</ulink> in order to
557            post, but it is well worth it, and you can elect to have daily bundles
558            of messages sent to you to keep email traffic down. Many questions
559            are answered on the mailing list within 24 hours. The developers who
560            respond to user questions generally do not send direct replies, so you
561            will need to monitor messages from the mailing list is order to
562            obtain an answer.
563        </para>
564      </answer>
565    </qandaentry>
566    <qandaentry>
567        <question id="interactive-help"><para>
568           Where can I get interactive help for jEdit?
569        </para></question>
570        <answer><para>
571            There is an IRC channel, <filename>#jedit</filename>, available
572            on the server that is dedicated to jEdit support
573            and discussion among developers.  You can reach it using
574            any IRC client (including Chatzilla), as well as the IRC plugin
575            for jEdit.
576         </para>
577         <para>
578            There is almost always someone from the developer team
579            signed on the channel. Just say hello and describe your problem.
580        </para></answer>
581    </qandaentry>
582  </qandadiv>
583  <qandadiv id="bugs">
584    <title>Reporting bugs</title>
585    <qandaentry>
586      <question id="report-bugs"><para>
587        How do I report a bug I have found in jEdit?
588      </para></question>
589      <answer><para>
590        To be as helpful as possible to the jEdit developer team and other
591        users, you should use the <ulink
592        url=";atid=100588">
593        bug tracker database</ulink> that the jEdit project maintains on the
594        <ulink url="">SourceForge web site</ulink>. You
595        do not need to be a SourceForge member to post a bug report.
596      </para>
597      <para>
598        Before posting a bug report, spend a few moments searching the bug
599        database to see if a similar report has already been made. The bug
600        tracker has a search facility that will let search for bug reports using
601        a variety of criteria. If you find a similar bug report, and you
602        have additional information to contribute, post a comment
603        to the report. If you do not find a similar bug report, submit a new
604        report.
605      </para></answer>
606    </qandaentry>
607    <qandaentry>
608      <question id="bug-report"><para>
609        What information should I include in a bug report?
610      </para></question>
611      <answer><para>
612        The form in the bug tracker report provides several fields for
613        submitting information. If you are unsure about a particular
614        item, leave it at the default setting provided in the form.
615      </para>
616      <para>
617        The more important fields are <quote>Category</quote>,
618        <quote>Summary</quote> and the <quote>Initial comment</quote>.
619        When you write your initial comment describing the bug, you
620        should specify the versions of jEdit, the Java platform and
621        operating system you are using, because bugs often arise that
622        are specific to particular versions.  Sometimes the bug
623        arises from the Java runtime environment or even the
624        operating system, and knowing these details helps the
625        developer team design testing and other debugging strategies.
626      </para>
627      <para>
628        One of the macros installed with jEdit is called <guimenuitem>Make Bug
629        Report</guimenuitem>. You will it find under the
630        <guimenuitem>Misc</guimenuitem> category of the <guimenu>Macros
631        </guimenu> menu. This macro extracts information regarding your jEdit
632        installation and a stack trace from the last error recorded by jEdit's
633        Activity Log and places it in a new text buffer. In many cases, the
634        information furnished by the macro is all that is necessary to provide a
635        helpful description of a bug. You can simply cut and paste the
636        output of the macro into the <quote>Initial comment</quote> field of the
637        bug report form.
638     </para></answer>
639   </qandaentry>
642<question id="bug-track">
644How do I track the status of a jEdit bug report?
649If you know the bug report number, go to this web address:
651where <userinput>######</userinput> is the bug report number. If you don't know the bug report number,
652you can browse and search the <ulink
654bug database</ulink> to find the problem in which you are interested.
660  </qandadiv>
662  <qandadiv id="contact">
663    <title>Contacting jEdit developers</title>
664    <qandaentry>
665      <question id="contact-team"><para>
666        How do I contact members of the jEdit developer team?
667      </para></question>
668      <answer><para>
669        If you want to ask a question, make a feature request or offer other
670        general comments, the easiest way is to join and post a message to the
671        <ulink url="">
672        jedit-users mailing list</ulink>. All developers are members. If you are
673        interested in working on jEdit or writing a plugin for it, use the
674        <ulink url="">
675        jedit-devel list</ulink>.  Email addresses for individual developers
676        can be found on the <ulink
677        url="">
678        SourceForge web site</ulink>.
679      </para></answer>
680    </qandaentry>
681  </qandadiv>