Eclipse

From PC2wiki
Jump to: navigation, search

The [eclipse] IDE is used for PC² development.


Doug's Top Ten eclipse tips

Here are Doug's top ten eclipse shortcut features.

1 Ctrl-1 Code assist - suggests fixes for things needing fixing
2 Ctrl-Space Content assist - gives a great number of suggestions for conditions
3 Ctrl-/ Toggle comments, note you only need to select a part of a line to toggle comment rather than the entire line
4 Ctrl-K find next, select a work or phrase, Ctrl-K will search for that phrase
5 Alt-Up move current line up, Alt-Down to move current line down (works on a multiple selected lines too)
6 Ctrl-Shift-T Find a type (can use Java caps to search for type, TUPA to search for TestUpdateProgramArea class)
7 Ctrl-Shift-R Find a resource, like an .xml files
8 Ctrl-Shift-L List all shortcut key bindings
9 Bookmarks! right click menu on edit scroll bar, select add Bookmark, use Bookmark View to return to the bookmark
10 Ctrl-. find next warning, task or error

Automatic SVN properties

When a new file is added to eclipse by default there are no SVN properties (for keyword expansion, end of line, etc). This article describes how to configure eclipse to automatically populate those properties.

Updated config file

  • Windows XP and earlier location:

For my Doug account under XP: C:\Documents and Settings\Doug\Application Data

  • Windows Vista/7 location:

For my Doug account under Win 7: C:\Users\Doug\AppData\Roaming\Subversion

Sample updated properties file

### This file configures various client-side behaviors.
###
### The commented-out examples below are intended to demonstrate
### how to use this file.

### Section for authentication and authorization customizations.
[auth]
### Set password stores used by Subversion. They should be
### delimited by spaces or commas. The order of values determines
### the order in which password stores are used.
### Valid password stores:
###   gnome-keyring        (Unix-like systems)
###   kwallet              (Unix-like systems)
###   keychain             (Mac OS X)
###   windows-cryptoapi    (Windows)
# password-stores = windows-cryptoapi
###
### The rest of this section in this file has been deprecated.
### Both 'store-passwords' and 'store-auth-creds' can now be
### specified in the 'servers' file in your config directory.
### Anything specified in this section is overridden by settings
### specified in the 'servers' file.
###
### Set store-passwords to 'no' to avoid storing passwords in the
### auth/ area of your config directory.  It defaults to 'yes',
### but Subversion will never save your password to disk in
### plaintext unless you tell it to (see the 'servers' file).
### Note that this option only prevents saving of *new* passwords;
### it doesn't invalidate existing passwords.  (To do that, remove
### the cache files by hand as described in the Subversion book.)
# store-passwords = no
### Set store-auth-creds to 'no' to avoid storing any subversion
### credentials in the auth/ area of your config directory.
### It defaults to 'yes'.  Note that this option only prevents
### saving of *new* credentials;  it doesn't invalidate existing
### caches.  (To do that, remove the cache files by hand.)
# store-auth-creds = no

### Section for configuring external helper applications.
[helpers]
### Set editor-cmd to the command used to invoke your text editor.
###   This will override the environment variables that Subversion
###   examines by default to find this information ($EDITOR, 
###   et al).
# editor-cmd = editor (vi, emacs, notepad, etc.)
### Set diff-cmd to the absolute path of your 'diff' program.
###   This will override the compile-time default, which is to use
###   Subversion's internal diff implementation.
# diff-cmd = diff_program (diff, gdiff, etc.)
### Set diff3-cmd to the absolute path of your 'diff3' program.
###   This will override the compile-time default, which is to use
###   Subversion's internal diff3 implementation.
# diff3-cmd = diff3_program (diff3, gdiff3, etc.)
### Set diff3-has-program-arg to 'yes' if your 'diff3' program
###   accepts the '--diff-program' option.
# diff3-has-program-arg = [yes | no]
### Set merge-tool-cmd to the command used to invoke your external
### merging tool of choice. Subversion will pass 4 arguments to
### the specified command: base theirs mine merged
# merge-tool-cmd = merge_command

### Section for configuring tunnel agents.
[tunnels]
### Configure svn protocol tunnel schemes here.  By default, only
### the 'ssh' scheme is defined.  You can define other schemes to
### be used with 'svn+scheme://hostname/path' URLs.  A scheme
### definition is simply a command, optionally prefixed by an
### environment variable name which can override the command if it
### is defined.  The command (or environment variable) may contain
### arguments, using standard shell quoting for arguments with
### spaces.  The command will be invoked as:
###     svnserve -t
### (If the URL includes a username, then the hostname will be
### passed to the tunnel agent as @.)  If the
### built-in ssh scheme were not predefined, it could be defined
### as:
# ssh = $SVN_SSH ssh -q
### If you wanted to define a new 'rsh' scheme, to be used with
### 'svn+rsh:' URLs, you could do so as follows:
# rsh = rsh
### Or, if you wanted to specify a full path and arguments:
# rsh = /path/to/rsh -l myusername
### On Windows, if you are specifying a full path to a command,
### use a forward slash (/) or a paired backslash (\\) as the
### path separator.  A single backslash will be treated as an
### escape for the following character.

### Section for configuring miscelleneous Subversion options.
[miscellany]
### Set global-ignores to a set of whitespace-delimited globs
### which Subversion will ignore in its 'status' output, and
### while importing or adding files and directories.
### '*' matches leading dots, e.g. '*.rej' matches '.foo.rej'.
# global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
#   *.rej *~ #*# .#* .*.swp .DS_Store
### Set log-encoding to the default encoding for log messages
# log-encoding = latin1
### Set use-commit-times to make checkout/update/switch/revert
### put last-committed timestamps on every file touched.
# use-commit-times = yes
### Set no-unlock to prevent 'svn commit' from automatically
### releasing locks on files.
# no-unlock = yes
### Set mime-types-file to a MIME type registry file, used to
### provide hints to Subversion's MIME type auto-detection
### algorithm.
# mime-types-file = /path/to/mime.types
### Set preserved-conflict-file-exts to a whitespace-delimited
### list of patterns matching file extensions which should be
### preserved in generated conflict file names.  By default,
### conflict files use custom extensions.
# preserved-conflict-file-exts = doc ppt xls od?
### Set enable-auto-props to 'yes' to enable automatic properties
### for 'svn add' and 'svn import', it defaults to 'no'.
### Automatic properties are defined in the section 'auto-props'.
# enable-auto-props = yes
### Set interactive-conflicts to 'no' to disable interactive
### conflict resolution prompting.  It defaults to 'yes'.
# interactive-conflicts = no

### Section for configuring automatic properties.
[auto-props]
### The format of the entries is:
###   file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?').  All entries which match (case-insensitively) will be
### applied to the file.  Note that auto-props functionality
### must be enabled, which is typically done by setting the
### 'enable-auto-props' option.
*.c = svn:eol-style=native;svn:executable;svn:keywords=Id HeadURL Author Revision Date;
*.cpp = svn:eol-style=native;svn:executable;svn:keywords=Id HeadURL Author Revision Date;
*.h = svn:eol-style=native;svn:executable;svn:keywords=Id HeadURL Author Revision Date;
# *.dsp = svn:eol-style=CRLF
# *.dsw = svn:eol-style=CRLF
*.sh = svn:eol-style=native;svn:executable;svn:keywords=Id HeadURL Author Revision Date;
*.bat = svn:eol-style=native;svn:executable;svn:keywords=Id HeadURL Author Revision Date;
*.txt = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.tsv = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.xml = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.xsl = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.java = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.yaml = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.xml = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.pl = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.html = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
*.css = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
# *.png = svn:mime-type=image/png
# *.jpg = svn:mime-type=image/jpeg
Makefile = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;
makefile = svn:eol-style=native;svn:keywords=Id HeadURL Author Revision Date;