Skip to main content

Section 3.3 We All Need an Editor!

Text editors are programs that help the user create and edit text files. Popular editors like Microsoft Word do not have the features that are needed by software developers and can not easily be used for editing source code because they can cause problems with the code itself due to the way they store formatted text. In short, Microsoft word is not a text editor and should never be used to edit source code because source code is a text file.
Professional software developers use text editors that are specifically designed to work with source code. These are sometimes called source code editors, code editors or just editors. Code editors typically include many special features for writing and editing code that go well beyond the typical uses such as finding and replacing, undoing, deleting, etc. It is worth noting that some professional developers prefer to use a text editor cofigured for working with code while others prefer to use an Integrated Development Environment (IDE) which is a tool that in addition to having source code editor functionality combines other commonly used developer tools in a single application. Because some text editors are so highly configurable using a variety of plug-ins and extensions, the line between text editors and IDEs has become quite blurred in recent years. Nevertheless, some of the main tools found in IDEs include:
  • code editor - which in addition to the standard find, replace, undo, redo, delete, etc, typically has block features like block indentation and dedentation, and block commenting and uncommenting.
  • code debugger - offers built-in tools to detect and diagnose errors in the code, including features such as variable inspection, stepping over and into code during execution, and setting break-points.
  • file explorer- a visual representation of the file system for easy navigation.
  • compiler or interpreter integration - Is able to convert the programming language to machine code and run the code from within the IDE.
  • search - the ability to search through an entire codebase for a search term.
  • syntax highlighting - where different colors and/or styles of text are used to differentiate between comments, keywords, strings, etc.
  • terminal integration - offers access to the shell directly from within the IDE.
  • version control integration - facilitates the tracking and management of all code changes without leaving the IDE.
Professional developers all have their favorite editor, and searching for something like "best editor to use for software development" will bring up a host of answers and lists of popular editors. In addition to the code editor, code interpreter/compiler, code debugger, integrated terminal, and tools for version control, the following is a list of other popular features in IDEs:
  • code completion - offering suggestions based on the context of the code being written.
  • code folding - the ability to collapse sections of code to better focus the workspace.
  • code refactoring - which is improving or updating code without changing its functional attributes.
  • code snippets - which are pre-written code blocks that can be inserted into the code quickly.
  • multi-language support - the ability to work effectively with a variety of programming languages and their varying syntaxes.
  • profiling support - helps to analyze the performance of the code.
  • testing support - facilitates the running of tests and the use of text-suites, sometimes in an automated fashion during the editing process.
The most popular editors used by contributors to open source projects include Emacs
, Vim
, and Visual Studio Code aka VSCode
. (Warning, VSCode, which is formally named Visual Studio Code, is not the same software as as Visual Studio. This rightfully causes a lot of confusion!) For novices contributors to open source, VSCode
is recommended as a first choice because it is cross-platform and has reasonably shallow learning curve. It also happens to be open-source!
If you are interested in getting started with VSCode, you might begin with VSCode’s Getting Started Videos and Guide.

Checkpoint 3.3.1.

    Which feature in Integrated Development Environments (IDEs) allows developers to analyze the performance of their code?
  • Multi-language support
  • Multi-language support will give us the ability to work effectively with a variety of programming languages and their varying syntaxes..
  • Code debugger
  • Code debugger detects and diagnoses errors in the code, including variable inspection and setting breakpoints. This feature helps developers identify and fix bugs in their code during the development process.
  • Profiling support
  • Correct! This feature enables developers to measure the execution time and resource usage of their code to optimize performance. It helps to analyze the performance of the code.
  • Code folding
  • Code folding collapses sections of code to better focus the workspace
  • Code refactoring
  • Code refactoring automates code restructuring to improve readability and maintainability.
You have attempted of activities on this page.