Code Editor Documentation Linking and Segment Preview

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current code editing tools lack the ability to link and display documentation persistently with code segments, forcing developers to search and switch contexts frequently, and do not allow for previewing specific segments of code within the development environment.

Innovation Solution

A code editor is modified to support interactive documentation packages that link code segments with their corresponding documentation, enabling users to insert and preview specific code segments within the development environment, with features like context-aware modifications and stylistic adjustments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If example code is inserted into a code editor from documentation, then the code segment is available for development, but the code segment loses its link to the corresponding documentation

Engineering Contradiction:
Improvecode insertion easeVSAvoiddocumentation link
Core Design Contradiction:
Ease of operationVSLoss of information

Solution Approach 1:

The patent creates a copy of the documentation link information and embeds it within the code segment structure. When code is inserted from documentation, the code segment is copied along with embedded metadata that preserves the original documentation reference, allowing the link to be restored later without requiring the original documentation context.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary data structure (code segment with embedded metadata) that acts as a bridge between the inserted code and the original documentation. This intermediary carries the documentation link information through the code editing process, enabling reconstruction of the original connection without direct access to the source documentation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If current code editors provide preview capability, then the entire code base can be previewed, but specific code segments cannot be previewed in isolation

Engineering Contradiction:
Improvepreview scope flexibilityVSAvoidpreview system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent divides the code base into independent, selectable segments that can be previewed individually. Each code segment is treated as a discrete unit with its own preview capability, allowing users to select and preview only the relevant portion rather than the entire code base, thus providing flexibility without requiring a complete system redesign.

Inventive Principle:
Principle #1Segmentation

3Reliability

If developers search for example code and documentation independently, then both can be found, but they are displayed separately requiring context switching

Engineering Contradiction:
Improvecode documentation associationVSAvoidcontext switching time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the code segment and its documentation reference into a single integrated data structure. When code is inserted from documentation, the documentation link is embedded within the code segment metadata, allowing both code and documentation access points to be unified in the editor interface, eliminating the need for separate searches and context switching.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9495134B2Methods and apparatus for code segment handling
Publication Date: 2016.11.15 ADOBE INC
  • US9495134B2 patent drawing
  • US9495134B2 patent drawing
  • US9495134B2 patent drawing

AI summary

Methods and apparatus for providing a user of a code editing tool with code segment examples tied to support tools, where the support tools may provide documentation or a code segment previewer. The documentation may be static or interactive and may provide a user with the option for using a builder interface to refine the specification or parameters of the inserted code example. The code segment previewer allows a user to preview only a subset of a larger body of a code base. Further, the code segment previewer may receive input identifying a segment of software code to be previewed, where the segment of software code is one of several other segments of software code.