When you see a programmer’s hands flying over the keyboard, it is often not about coding, but rather likely a heated discussion with the product manager about requirements; another possibility is a verbal sparring match with the testers; there’s also a 10% chance they are writing on forums to pass the time; and a 1% chance they are chatting with someone. Fast typing without pausing to think often means they can get by with Ctrl + C/V. When you see a programmer staring blankly into space, it usually means programming has begun! So, how can one improve their programming efficiency? Here are a few tools that can enhance programming efficiency, allowing us to gain more time for leisure!
1. Source Insight
Source Insight is a project-oriented program editor and code browser, featuring built-in analysis for languages such as C/C++, C#, and Java. It analyzes source code while dynamically maintaining its own symbol database and automatically displays useful contextual information.
Source Insight is not just a powerful program editor; it can also display reference trees, class inheritance diagrams, and call trees. It provides the fastest navigation of source code and any program editor’s source information, along with quick and innovative access to source code and source information.

2. UltraEdit
In embedded software development, it is often necessary to view raw data, including non-displayable characters. UltraEdit’s HEX display feature effectively addresses this issue, and its support for large files (such as logs during stress testing) is far superior to Notepad and WordPad.
UltraEdit is a powerful text editor capable of editing text, hexadecimal, and ASCII code, fully replacing Notepad. It includes built-in English spell check, C++ and VB syntax highlighting, and can edit multiple files simultaneously, maintaining speed even with large files.

3. Beyond Compare
Beyond Compare is a powerful content comparison tool that can compare the following three types of content: the contents of two directories on a computer, the contents of a directory on a computer and an FTP address, and the contents of two text files (including UTF-8, HTML, Delphi source files, etc.).
Beyond Compare has a built-in HTML file browser and supports compressed files. These special features allow users to compare content across media, for example: comparing the current website’s content with a backup file stored on a CD.

4. TortoiseSVN
TortoiseSVN is an open-source visual centralized code version management tool, a free open-source client for the Subversion version control system, allowing for time-based management of files and directories.
Files are stored in a central repository, which not only remembers every modification to files and directories but also functions like a regular file server, allowing files to be restored to previous versions and providing a history of changes made and who made them. This is why many people view Subversion and version control systems as a kind of “time machine.”

5. Wireshark
Wireshark is a powerful network protocol data packet analysis tool and an essential asset for in-depth learning of various network protocols. It is a network packet analysis software that captures network packets and displays the most detailed network packet information possible. Wireshark uses WinPCAP as an interface to directly exchange data packets with the network card. The functionality of network packet analysis software can be likened to “an electrician using a multimeter to measure current, voltage, and resistance,” just transferring the scene to the network and replacing wires with network cables.

6. SSH Secure Shell Client
SSH Secure Shell Client is a powerful secure remote login tool. If you are developing Android or other Linux systems using a virtual machine, it is recommended to use this tool to avoid operating the Linux system through a graphical interface, reducing the load on the PC. SSH can solve the problem of passwords being transmitted in plaintext over the internet by encrypting all transmitted data, making “man-in-the-middle” attacks impossible, and also preventing DNS spoofing and IP spoofing.

7. VS Code
VSCode (Visual Studio Code) is a free, cross-platform source code editor developed by Microsoft. The software supports syntax highlighting, code auto-completion (also known as IntelliSense), code refactoring, and definition viewing, and includes built-in command line tools and Git version control. Users can customize themes and keyboard shortcuts for personalization and can install extensions from the built-in extension store to expand the software’s functionality.
In some surveys, VSCode is considered the most popular development environment among developers. Many people also prefer using VSCode for coding in microcontroller development, compiling with Keil, and even setting up STM32 development environments based on VSCode.

8. Keil
Keil provides a complete development solution, including a C compiler, macro assembler, linker, library management, and a powerful simulation debugger, all integrated into a development environment (μVision). For microcontroller development IDE, the first software we learn to install for microcontroller programming is likely Keil!

9. VMWare
For embedded Linux development, besides installing a dual system, we can install virtual machine software to run the Linux system, and VMWare is your best choice.

These are some commonly used software for embedded development. If you haven’t tried them yet, go download and give them a try!

END
Author: Li Bin
Source: Embedded Yu Xiang Garden
Copyright belongs to the original author. If there is any infringement, please contact for removal.▍Recommended ReadingMy Perspective on FAE Work in Chip CompaniesWhich Language Dominates Everything?Teaching You to Write Microcontroller Structures from Scratch→ Follow for More Updates ←