User Tools

Site Tools


developer_tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
developer_tools [2018/10/29 00:41]
rryan
developer_tools [2019/06/15 07:11] (current)
ferranpujolcamins [Using IDEs]
Line 18: Line 18:
  
 ===== Using IDEs ===== ===== Using IDEs =====
 +  * Set up [[Visual Studio Code]]
   * Set up [[eclipse|Eclipse]]   * Set up [[eclipse|Eclipse]]
   * Set up [[KDevelop]]   * Set up [[KDevelop]]
   * Set up [[emacs|Emacs]]   * Set up [[emacs|Emacs]]
   * Set up [[QtCreator]]   * Set up [[QtCreator]]
 +  * Set up [[Xcode]]
  
 ====== Debugging Tools ====== ====== Debugging Tools ======
Line 45: Line 47:
 See [[profiling]]. See [[profiling]].
  
-====== Console development tools ====== 
  
-On Ubuntu Linux, G uses:+====== Command-line Tools ======
  
-===== grep (wcolor) ​===== +===== grep / ack / ag / ripgrep ​=====
-  * [[http://​packages.ubuntu.com/​hardy/​grep|grep]]+
  
-  export GREP_COLOR='1;33' +''​grep''​ is nice for searching files with regexes, but it isn't designed specifically for looking through source code. There are a number of tools that make searching through source repositories much nicer (e.g. they won't go searching in the ''​.git''​ subfolder, or digging through binary files for your regex).
-  export GREP_OPTIONS=--color=auto+
  
-===== colordiff ===== +  * [[https://​beyondgrep.com/​|ack]] 
-  * [[http://packages.ubuntu.com/hardy/colordiff|colordiff]]+  * [[https://blog.burntsushi.net/ripgrep/|ripgrep]] 
 +  * [[https://​geoff.greer.fm/​ag/​|ag / The Silver Searcher]]
  
-  alias svndiff='​(echo "​Running SVN diff (your changes vs. the repo)..."​ && (svn -x -w diff|colordiff))|less -R' 
-  alias svnbasediff='​(echo "​Running SVN diff against BASE:HEAD (changes in the repo since last \"svn update\"​)..."​ && (svn diff -x -w -rBASE:​HEAD|colordiff))|less -R' 
  
-  * diff -y with automatic adjustment for term width. 
  
-  alias ydiff='​y_diff'​ 
-  function y_diff() { 
-    diff --width=${COLUMNS} -b -y "​$1"​ "​$2"​ | colordiff | less -R 
-  } 
  
  
-===== colormake and colorgcc ==== 
-  * [[http://​packages.ubuntu.com/​hardy/​colormake|colormake]] & [[http://​packages.ubuntu.com/​hardy/​colorgcc|colorgcc]] 
- 
-  ### Color GCC 
-  if [ -z "​`which colorgcc`"​ ]; then 
-    echo Installing ColorGCC ... 
-    sudo aptitude install colorgcc 
-  fi 
-  if [ ! -z "​`which colorgcc`"​ ]; then 
-    export CC="​colorgcc"​ 
-    alias gcc='​colorgcc'​ 
-    for C in `grep /usr/bin /​etc/​colorgcc/​colorgccrc | sed -e 's/# //' -e '​s/:​.*//'​`;​ do 
-      if [ ! -e /​usr/​local/​bin/​${C} ]; then 
-        echo "​Installing colorgcc wrapper in /​usr/​local/​bin for ${C}... " 
-        sudo ln -s /​usr/​bin/​colorgcc /​usr/​local/​bin/​${C} 
-      fi 
-    done 
-  fi 
-  ### Color Make 
-  if [ -z "​`which colormake`"​ ]; then 
-    echo Installing ColorMake ... 
-    sudo aptitude install colormake 
-  fi 
-  if [ ! -z "​`which colormake`"​ ]; then 
-    alias make='​colormake'​ 
-    if [ ! -e /​usr/​local/​bin/​make ]; then 
-      sudo ln -s /​usr/​bin/​colormake /​usr/​local/​bin/​make 
-    fi 
-  fi 
- 
-===== source-highlight ===== 
-  * [[http://​packages.ubuntu.com/​hardy/​source-highlight|source-highlight]] 
-  * Usage: ​ 
-    * vs somefile.cpp 
-    * vs SConscript 
- 
-  alias vs="​view_source"​ 
-  function view_source { 
-    lang_def=""​ 
-    case "​`basename $1`" in 
-      SConscript|SConstruct) lang_def=python.lang;;​ 
-      .bashrc|.bashrc-extra) lang_def=sh.lang;;​ 
-      # *) lang_def=cpp;;​ 
-    esac 
-    if [ ! -z "​${lang_def}"​ ]; then lang_def="​--lang-def=${lang_def}";​ fi 
-  ​ 
-    echo -e "​\033]0;​view-source:​ $1\007\c"​ 
-    source-highlight ${lang_def} --out-format=esc --output=STDOUT "​$1"​ 2>/​dev/​null | less -RN 
-  } 
- 
-===== Nano editor ===== 
- 
-  * [[http://​nano-editor.org|nano editor]] with color syntax highlighting 
- 
-  * Syntax color highlighting [[http://​stacktrace.org/​archive/​.nanorc|.nanorc file]], you may have to run dos2unix on it. 
- 
-  * Usage: ​ 
-    * nano somefile.cpp:​326:​error:​ some compiler error message 
- 
-  alias nano='​smart_nano'​ 
-  ## Smart nano jumps to a line number when you give it filename:​nnn where nnn is the line number (like compile warnings/​errors) 
-  function smart_nano() { 
-    if [ -z "​$(echo \"​[email protected]\"​ | egrep [a-zA-Z0-9]:​[0-9]+)"​ ]; then 
-      /​usr/​bin/​nano -w -c "​[email protected]"​ 
-      return 
-    fi 
-    unset args 
-    echo 
-    while (( "​$#"​ )); do 
-      if [ ! -z "​${1}"​ ] && [ ! -z "`echo ${1}|cut -d: -f2|grep -e '​^[0-9]*$'​`"​ ]; then 
-        args[${#​args[@]}]=+$(echo ${1}|cut -d: -f2|grep -e '​^[0-9]*$'​) # Line Number Offset 
-        args[${#​args[@]}]=$(echo ${1}|cut -d: -f1) # File Name 
-      elif [ -f "​${1}"​ ]; then 
-        args[${#​args[@]}]=$1 
-      else 
-        echo "Nano could not find: $1"; sleep .5 
-      fi 
-      shift 
-    done 
-    /​usr/​bin/​nano -w -c "​${args[@]}"​ 
-  } 
developer_tools.1540788114.txt.gz · Last modified: 2018/10/29 00:41 by rryan