Integrated development environment with structured editing support for Go programming language
The paper describes software implementation of an integrated development environment with structured editing support that allows creating and editing software projects using Go programming language. Structure editors allow editing a source code as a hierarchy of embedded blocks in opposite to text editors, which allow editing a source as a list of characters and lines. The proposed software implementation is different from the known systems by the storage representation method that allows speeding up the performing operations with a source code. The proposed editor also allows increasing the overall efficiency of a software development process. This implementation solves the problem of circular translation of a source code into an intermediate representation and vice versa, which is common among modern structured editors of a source code. The solution for this problem improves the development environment performance and programmer’s productivity in several ways. The study lists the basic subsystems and components of the proposed information system, their purpose, functions and work principle. The paper describes the user interface and its basic features. One of the main features of the proposed implementation is a version control system that allows tracking the differences between source code hierarchical structures, not the differences between text files. It allows a software developer to get more detailed and unambiguous information when browsing a version history as well when performing merge or conflict resolution. The paper presents test results of the integrated development environment performance and the effectiveness of software development using this environment. It also describes the implementation results of the proposed system in the development process of industrial companies and educational organization. Finally, there are some insights on further development of the study.