Bloques de código

Herramientas de IA

Los bloques de código te permiten presentar código con un buen aspecto y resaltado de sintaxis. Hay dos bloques relacionados:

  • Bloque de código: un único fragmento en un solo lenguaje.

  • Pestañas de código: varios fragmentos mostrados como pestañas, por ejemplo el mismo código en diferentes lenguajes.

Para añadir cualquiera de los dos:

  • Escribe / en una línea nueva o haz clic en a la izquierda de cualquier línea.

  • Selecciona Bloque de código o Pestañas de código

Lenguajes compatibles

Actualmente se admiten los siguientes lenguajes para el resaltado de sintaxis:

Bash, C , C-Like, C++, C#, CSS, CSV, D, Dart, Django, Docker, Go, Groovy, HTML, HTTP, Javascript, Java, JSON, JSX, Kotlin, Lua, Markdown, Markup, Objective-C, Pascal, Perl, PHP, Powershell, Python, R, Rust, Ruby, Sass, Scss, Scala, SQL, Squirrel, Swift, Typescript, VB.NET, Visual Basic, XML.

Si necesitas más lenguajes, estaremos encantados de añadirlos. ¡Avísanos!

Información

El resaltado de errores de sintaxis solo se muestra durante la edición

Ejemplo de pestañas de código

Un bloque de pestañas de código que muestra la secuencia de Fibonacci en diferentes lenguajes:

function fibonacci(num, memo) { memo = memo || {}; if (memo[num]) return memo[num]; if (num <= 1) return 1; return memo[num] = fibonacci(num - 1, memo) + fibonacci(num - 2, memo); }
# Program to display the Fibonacci sequence up to n-th term nterms = int(input("How many terms? ")) # first two terms n1, n2 = 0, 1 count = 0 # check if the number of terms is valid if nterms <= 0: print("Please enter a positive integer") elif nterms == 1: print("Fibonacci sequence upto",nterms,":") print(n1) else: print("Fibonacci sequence:") while count < nterms: print(n1) nth = n1 + n2 # update values n1 = n2 n2 = nth count += 1
func FibonacciRecursion(n int) int { if n <= 1 { return n } return FibonacciRecursion(n-1) + FibonacciRecursion(n-2) }
#include <stdio.h> int main() { int i, n, t1 = 0, t2 = 1, nextTerm; printf("Enter the number of terms: "); scanf("%d", &n); printf("Fibonacci Series: "); for (i = 1; i <= n; ++i) { printf("%d, ", t1); nextTerm = t1 + t2; t1 = t2; t2 = nextTerm; } return 0; }
def fib(n) first_num, second_num = [0, 1] (n - 1).times do first_num, second_num = second_num, first_num + second_num end puts first_num end

Bloque de código sin formato

Los bloques de código pueden no tener formato si se selecciona el lenguaje "None". Además, si solo se indicó el lenguaje "None" para el bloque de código, el selector de lenguaje desaparecerá, a menos que la pestaña tenga un título. Por ejemplo:

This is a code block with no formatting - Correct?

Y otro con título:

A titled code block without formatting keeps its title

Pestañas con título

También puedes asignar títulos a cada pestaña, lo cual es una excelente forma de identificar y agrupar el contenido. Por ejemplo:

[ { "id": 4, "published": true, "name": "v1.0", "created": "2019-03-20T19:02:14+0000", "updated": "2019-03-20T19:02:14+0000", "slug": "developerhub.io-api", "ordr": 4 } ]
{ "error": { "message": "Access denied.", "httpCode": 403, "code": 403 } }

Contenido contraíble

Cuando un bloque de código tiene más de 100 líneas, se muestra con sus regiones plegables contraídas, para que un fragmento largo no domine la página. El plegado reconoce el lenguaje: cada función o bloque con sangría se pliega en su propio límite, y los lenguajes sin gramática propia recurren al plegado basado en sangría. Ejemplo:

paths: /page/{id}: get: tags: - Page summary: Read page description: "Read a page including its content in [Darkdown](https://docs.developerhub.io/support-center/exporting-documentation#markdoc) or text format. Rate limit: 600 in 1 minute." operationId: read_page parameters: - name: id in: path description: Page ID required: true schema: type: integer - name: format in: query description: Format type (Default `darkdown`) required: false schema: type: string enum: - darkdown - text responses: 200: description: OK headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/Page' 403: description: Access denied content: application/json: schema: $ref: '#/components/schemas/AccessDenied' 429: description: Too many requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' deprecated: false /documentation/{id}/page: post: tags: - Page summary: Create a page description: "Creates a page with draft contents. To insert in a pre-existing category, set the `categoryTitle`. Rate limit: 10800 in 1 hour." operationId: create_page parameters: - name: id in: path description: Documentation ID required: true schema: type: integer requestBody: required: true content: application/json: schema: type: object description: Page object properties: title: type: string description: Title of the page example: "Getting Started" slug: type: string description: Slug in the URL. Generated if it was not provided example: "getting-started" content: type: string description: Draft contents of the page in [Darkdown format](https://docs.developerhub.io/support-center/exporting-documentation#markdoc) example: "Let's start here\n\n##Step 1\nWelcome to **DeveloperHub**\n" categoryTitle: type: string description: To append the page to a category, provide the pre-existing category title here (case insensitive) example: Installation message: type: string description: Page history message default: Created using API required: - title - content responses: 200: description: OK headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: $ref: '#/components/schemas/Page' 403: description: Access denied content: application/json: schema: $ref: '#/components/schemas/AccessDenied' 415: description: Unsupported content-type content: application/json: schema: $ref: '#/components/schemas/UnsupportedContentType' 429: description: Too many requests content: application/json: schema: $ref: '#/components/schemas/TooManyRequests' deprecated: false

Para plegar o desplegar una región manualmente, haz clic en las flechas de plegado del margen a la izquierda del código.

Mostrar números de línea

Hay dos formas de mostrar los números de línea:

  • En cada pestaña, puedes activar la visualización de números de línea desde las opciones de la pestaña.

  • De forma global, puedes activar la visualización de números de línea para todos los bloques de código del proyecto. Consulta la opción code.showLineNumbers en configuración avanzada.

Resaltar código

Se pueden resaltar líneas de código. Desde el menú de opciones de la pestaña, puedes escribir los números de línea que se resaltarán. La sintaxis para resaltar es la siguiente:

  • Usa guiones - para crear un rango inclusivo.

  • Usa comas para separar las reglas.

Por ejemplo:

  • 5-7: resalta de la línea 5 a la 7.

  • 1,2,3: resalta las líneas 1, 2 y 3.

  • 1,10-20,25: resalta la línea 1, de la 10 a la 20 y la 25.

Consulta los siguientes bloques de código como ejemplos:

/** Returns a stripped Markdown * @param $html * @return string */ public static function toMarkdown($html) { $converter = new HtmlConverter(); $converter->getConfig()->setOption('strip_tags', true); $converter->getConfig()->setOption('italic_style', '_'); $converter->getConfig()->setOption('bold_style', '**'); $converter->getConfig()->setOption('hard_break', true); return $converter->convert($html); }
/** Returns a stripped Markdown * @param $html * @return string */ public static function toMarkdown($html) { $converter = new HtmlConverter(); $converter->getConfig()->setOption('strip_tags', true); $converter->getConfig()->setOption('italic_style', '_'); $converter->getConfig()->setOption('bold_style', '**'); $converter->getConfig()->setOption('hard_break', true); return $converter->convert($html); }
/** Returns a stripped Markdown * @param $html * @return string */ public static function toMarkdown($html) { $converter = new HtmlConverter(); $converter->getConfig()->setOption('strip_tags', true); $converter->getConfig()->setOption('italic_style', '_'); $converter->getConfig()->setOption('bold_style', '**'); $converter->getConfig()->setOption('hard_break', true); return $converter->convert($html); }

Ajuste de línea

De forma predeterminada, las líneas de los bloques de código se ajustan, salvo que una línea supere los 120 caracteres o la vista esté en modo móvil. Sin embargo, puedes activar o desactivar el ajuste de línea según necesites.

blocks
  Última actualización