Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando utiliza o Visual Studio 2019 e posterior para desenvolver Suplementos do Office, pode utilizar o JSDoc para ativar o IntelliSense para as variáveis, objetos, parâmetros e valores devolvidos do JavaScript. Este artigo fornece uma visão geral do JSDoc e como usá-lo para criar IntellSense no Visual Studio. Confira mais detalhes em JavaScript IntelliSense e Suporte ao JSDoc no JavaScript.
Definições de tipo do Office.js
Você precisa fornecer as definições dos tipos no Office.js para o Visual Studio. Para fazer isso, é possível:
Ter uma cópia local dos arquivos Office.js em uma pasta em sua solução denominada
\Office\1\. Os modelos de projeto de Suplemento do Office no Visual Studio adicionam essa cópia local quando você cria o projeto de um suplemento.Use a versão online do Office.js adicionando um arquivo tsconfig.json à raiz do projeto de aplicativo da Web na solução do suplemento. O arquivo deve incluir o seguinte conteúdo:
{ "compilerOptions": { "allowJs": true, // These settings apply to JavaScript files also. "noEmit": true // Do not compile the JS (or TS) files in this project. }, "exclude": [ "node_modules", // Don't include any JavaScript found under "node_modules". "Scripts/Office/1" // Suppress loading all the JavaScript files from the Office NuGet package. ], "typeAcquisition": { "enable": true, // Enable automatic fetching of type definitions for detected JavaScript libraries. "include": [ "office-js" ] // Ensure that the "Office-js" type definition is fetched. } }
Sintaxe JSDoc
A técnica básica é incluir antes da variável (ou do parâmetro e assim por diante) um comentário que identifica seu tipo de dados. Isso permite que o IntelliSense no Visual Studio infira seus membros. Eis alguns exemplos.
Variável
/** @type {Excel.Range} */
let subsetRange;
Parâmetro
/** @param {Word.ParagraphCollection} paragraphs */
function myFunc(paragraphs){
}
Valor de retorno
/** @returns {Word.Range} */
function myFunc() {
}
Tipos complexos
/** @typedef {{range: Word.Range, paragraphs: Word.ParagraphCollection}} MyType
/** @returns {MyType} */
function myFunc() {
}