Skip to content

Commit 65f020b

Browse files
authored
Merge pull request #63 from microsoft/sync-public-docs
Sync public docs into private repo
2 parents afcd071 + 0a98ab0 commit 65f020b

File tree

441 files changed

+3569
-1672
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

441 files changed

+3569
-1672
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
applyTo: 'blogs/**/*.md'
3+
---
4+
# VS Code blog writing guidelines
5+
6+
Apply the following guidelines when authoring blog posts on the VS Code website.
7+
8+
## Metadata
9+
10+
A blog post must have the following metadata fields, formatted with frontmatter.
11+
12+
* Order: sequence number (higher number is more recent)
13+
* TOCTitle: blog post title used in table of contents - try to keep it shorter than 30 characters
14+
* PageTitle: blog post title used in the browser tab
15+
* MetaDescription: short description of the blog post, used for SEO purposes - keep it shorter than 160 chars
16+
* MetaSocialImage: file name of the image used for sharing on social channels - relative path
17+
* Date: publication date, formatted as YYYY-MM-DD
18+
* Author: full name of the author(s)
19+
20+
## Folder structure
21+
22+
A blog post MUST be stored in the `blogs` folder, within a `year/month/day` subfolder structure. Each of the three levels of the date must be subfolder.
23+
24+
## Content structure
25+
26+
- The blog post title is an H1 heading.
27+
- There must be a byline directly underneath the title, formatted as `<Month> <day>, <year> by [<author name>](<link to social media profile>))`. The byline must be followed by an empty line.
28+
- The blog post must be broken into sections with H2 headings.
29+
- Images should be included using relative paths and must have alt text.
30+
- Links to documentation articles should use full URLs.
31+
- Start with a brief introduction that summarizes the main points of the post.
32+
- End with a call to action, such as encouraging readers to try out a new feature or share their thoughts in the comments.
33+
- The blog post should end with a line saying `Happy coding! 💙`
34+
35+
## Writing style
36+
37+
- In general, the blog post should adhere to the docs [writing guidelines](./docs-writing.instructions.md).
38+
- Blog posts should be engaging and can include a more conversational tone than standard documentation.
39+
- Use active voice and first-person plural ("we") to create a sense of community and shared experience.
40+
- Use contractions (e.g., "it's", "we're") to make the writing feel more natural and approachable.
41+
- The target audience is developers who use VS Code, ranging from beginners to advanced users.
42+
- Use simple and clear language, avoiding jargon unless it's widely understood by the target audience.

.github/instructions/docs-writing.instructions.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ These are our documentation writing style guidelines.
4747
* Avoid semicolons - use separate sentences instead.
4848
* Use question marks sparingly.
4949
* Don't use slashes (/) - use "or" instead.
50+
* Prefer single over double quotes, avoiding typographic quotes.
51+
* Only use apostrophe (U+0027) and quotes (U+0022), not left or right single or double quotation marks.
5052

5153
## Text formatting
5254

@@ -85,13 +87,19 @@ These are our documentation writing style guidelines.
8587
* Images have a descriptive and meaningful alt text that starts with "Screenshot showing" and ends with ".".
8688
* Videos have a descriptive and meaningful alt text or title that starts with "Video showing" and ends with ".".
8789

90+
## Lists
91+
92+
* Use asterisks (*) for lists of items.
93+
* Use numbered lists for steps in a procedure.
94+
* Keep list items parallel in structure.
95+
8896
## Numbered steps
8997

9098
* Write complete sentences with capitalization and periods
9199
* Use imperative verbs
92100
* Clearly indicate where actions take place (UI location)
93101
* For single steps, use a bullet instead of a number
94-
* When allowed, use angle brackets for menu sequences (File > Open)
102+
* Use angle brackets for menu sequences (File > Open)
95103

96104
## Terminology
97105

.github/instructions/release-notes-writing.instructions.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,21 @@ You are a technical writer assistant tasked with generating release notes for al
6060

6161
## Writing Guidelines
6262

63-
Apply these specific guidelines to all release notes. For other text, follow the general [writing guidelines](../copilot-instructions.md).
63+
Apply these specific guidelines to all release notes. For other text, follow the general [writing guidelines](../instructions/docs-writing.instructions.md).
6464

6565
### Headings
6666

67+
- Always use sentence case for headings, so only the first word is capitalized.
6768
- Don't apply an inline style like italic, bold, or inline code style to headings.
68-
- Lowercase everything except the first word in a heading.
6969

7070
### Links
7171

7272
- Links to other documentation articles should be absolute, not relative. Start absolute links with `https://code.visualstudio.com/docs/` and don't include the `.md` suffix.
7373
- Link text should be descriptive and clearly indicate the content of the linked article. Don't use "click here" or "this link" or "here".
74+
- Image links MUST have an alt text that describes the image content, not the image file name, and start with "Screenshot showing".
75+
- Video links MUST have an alt text that describes the video content, not the video file name, and start with "Video showing".
7476

7577
### Text Formatting
7678

7779
- Notes and tips are formatted as block quotes with the word "Note" or "Tip" in bold at the start of the line. Don't use alert-style formatting for these.
80+
- Use asterisks for lists, not hyphens or numbers.
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
---
22
mode: agent
33
model: Claude Sonnet 4
4-
tools: ['codebase', 'vscodeAPI', 'githubRepo', 'search']
4+
tools: ['codebase', 'usages', 'vscodeAPI', 'githubRepo', 'search']
55
---
66
You are an expert in answering questions about Visual Studio Code, its features, and how to use it effectively. Explain how specific features work, give examples of usage scenarios.
7+
8+
Ground your answers in the source code by using #githubRepo microsoft/vscode and microsoft/vscode-copilot-chat.
9+
10+
Provide references to where you found the information in the source code.
Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,25 @@
11
---
22
mode: agent
3-
tools: ['codebase', 'vscodeAPI', 'problems', 'fetch', 'search']
4-
description: You are a technical writer reviewing an article for clarity, conciseness, and adherence to the documentation writing style guidelines.
3+
tools: ['codebase', 'vscodeAPI', 'problems', 'fetch', 'search', 'githubRepo']
4+
description: Review docs article
55
---
6-
Review the article for clarity, conciseness, and adherence to our documentation [writing style guidelines](../instructions/docs-writing.instructions.md).
76

8-
Provide concrete and practical suggestions for improvement.
7+
Review a documentation article by completing these tasks:
98

10-
Provide your feedback in the form of a Markdown task list, with each task starting with `- [ ]`.
9+
* Review the article for adherence to our documentation [writing style guidelines](../instructions/docs-writing.instructions.md).
10+
11+
* Validate technical accuracy:
12+
- Verify all code samples are syntactically correct and follow best practices
13+
- Test command-line instructions and procedures
14+
- Confirm API references and method names are current
15+
- Check that screenshots and images are up-to-date
16+
17+
* Evaluate structural organization:
18+
- The title accurately reflects the content
19+
- The metadata description is concise, informative, and optimized for SEO
20+
- The introduction provides a clear overview of the article's purpose
21+
- Sections are logically organized with proper heading hierarchy
22+
- Content flows logically without redundancy or repetitive language
23+
- Relevant next steps or related articles are linked at the end
24+
25+
After your analysis, provide a summary of your findings and actionable feedback for improvement. Group your findings into these categories: "Technical Accuracy," "Style and Grammar," "Structure and Organization," "Accessibility," and "SEO Optimization." For each category, list specific issues identified and suggest concrete improvements with examples.
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
mode: agent
3+
tools: ['search', 'vscodeAPI', 'problems', 'fetch', 'githubRepo', 'todos']
4+
description: You are a technical writer reviewing a VS Code blog post for clarity, conciseness, and adherence to the writing style guidelines.
5+
---
6+
Review the article for clarity, conciseness, and adherence to our blog post [writing style guidelines](../instructions/blog-writing.instructions.md).
7+
8+
Provide concrete and practical suggestions for improvement.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
mode: agent
3+
tools: ['search', 'vscodeAPI', 'problems', 'fetch', 'githubRepo', 'todos']
4+
description: You are a technical writer reviewing a VS Code release notes for clarity, conciseness, and adherence to the writing style guidelines.
5+
---
6+
Review the article for clarity, conciseness, and adherence to our [release notes writing style guidelines](../instructions/release-notes-writing.instructions.md).
7+
8+
Provide a concise summary of the key changes and improvements highlighted in the release notes.
9+
Provide concrete and practical suggestions for improvement.

.vscode/extensions/doc-assistant/dist/extension.js

Lines changed: 23 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -5020,6 +5020,7 @@ var __importStar = (this && this.__importStar) || (function () {
50205020
})();
50215021
Object.defineProperty(exports, "__esModule", ({ value: true }));
50225022
exports.getReleaseFeatures = getReleaseFeatures;
5023+
exports.getCurrentMilestoneName = getCurrentMilestoneName;
50235024
const vscode = __importStar(__webpack_require__(1));
50245025
const graphql_1 = __webpack_require__(27);
50255026
const ISSUE_FIELDS = `
@@ -5145,6 +5146,25 @@ async function gql() {
51455146
});
51465147
;
51475148
}
5149+
async function getCurrentMilestoneName() {
5150+
const session = await vscode.authentication.getSession('microsoft', ['api://3834c68c-adcc-4ad8-818a-8fca4cc260be/.default'], {
5151+
createIfNone: true
5152+
});
5153+
const response = await fetch('https://tools.code.visualstudio.com/api/milestones/current', {
5154+
headers: {
5155+
'Authorization': `Bearer ${session.accessToken}`,
5156+
'Content-Type': 'application/json'
5157+
}
5158+
});
5159+
if (!response.ok) {
5160+
if (response.status === 404) {
5161+
return undefined;
5162+
}
5163+
throw new Error(`Failed to fetch team members: ${response.status} ${response.statusText}`);
5164+
}
5165+
const currentMilestone = await response.json();
5166+
return currentMilestone.title;
5167+
}
51485168

51495169

51505170
/***/ }),
@@ -10132,56 +10152,19 @@ function wrappy (fn, cb) {
1013210152

1013310153
/***/ }),
1013410154
/* 51 */
10135-
/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
10155+
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
1013610156

1013710157
"use strict";
1013810158

1013910159
/*---------------------------------------------------------------------------------------------
1014010160
* Copyright (c) Microsoft Corporation. All rights reserved.
1014110161
* Licensed under the MIT License. See License.txt in the project root for license information.
1014210162
*--------------------------------------------------------------------------------------------*/
10143-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10144-
if (k2 === undefined) k2 = k;
10145-
var desc = Object.getOwnPropertyDescriptor(m, k);
10146-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10147-
desc = { enumerable: true, get: function() { return m[k]; } };
10148-
}
10149-
Object.defineProperty(o, k2, desc);
10150-
}) : (function(o, m, k, k2) {
10151-
if (k2 === undefined) k2 = k;
10152-
o[k2] = m[k];
10153-
}));
10154-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10155-
Object.defineProperty(o, "default", { enumerable: true, value: v });
10156-
}) : function(o, v) {
10157-
o["default"] = v;
10158-
});
10159-
var __importStar = (this && this.__importStar) || (function () {
10160-
var ownKeys = function(o) {
10161-
ownKeys = Object.getOwnPropertyNames || function (o) {
10162-
var ar = [];
10163-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
10164-
return ar;
10165-
};
10166-
return ownKeys(o);
10167-
};
10168-
return function (mod) {
10169-
if (mod && mod.__esModule) return mod;
10170-
var result = {};
10171-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
10172-
__setModuleDefault(result, mod);
10173-
return result;
10174-
};
10175-
})();
10176-
var __importDefault = (this && this.__importDefault) || function (mod) {
10177-
return (mod && mod.__esModule) ? mod : { "default": mod };
10178-
};
1017910163
Object.defineProperty(exports, "__esModule", ({ value: true }));
1018010164
exports.GetCurrentMilestoneName = void 0;
10181-
const vscode = __importStar(__webpack_require__(1));
1018210165
const prompt_tsx_1 = __webpack_require__(3);
1018310166
const utils_1 = __webpack_require__(25);
10184-
const path_1 = __importDefault(__webpack_require__(52));
10167+
const queries_1 = __webpack_require__(26);
1018510168
function isSuccess(props) {
1018610169
return !!props.result;
1018710170
}
@@ -10202,8 +10185,7 @@ class GetCurrentMilestoneName {
1020210185
this.logger = logger;
1020310186
}
1020410187
async invoke(options, token) {
10205-
const wsFolder = vscode.workspace.workspaceFolders?.find(wsf => path_1.default.basename(wsf.uri.fsPath).toLowerCase() === 'vscode-docs');
10206-
const milestoneName = vscode.workspace.getConfiguration(undefined, wsFolder?.uri).get('doc-assistant.milestone');
10188+
const milestoneName = await (0, queries_1.getCurrentMilestoneName)();
1020710189
if (!milestoneName) {
1020810190
return (0, utils_1.createLanguageModelToolResult)(await (0, prompt_tsx_1.renderElementJSON)(GetCurrentMilestoneNameResult, { error: 'No milestone specified' }, options.tokenizationOptions, token));
1020910191
}
@@ -10214,13 +10196,6 @@ class GetCurrentMilestoneName {
1021410196
exports.GetCurrentMilestoneName = GetCurrentMilestoneName;
1021510197

1021610198

10217-
/***/ }),
10218-
/* 52 */
10219-
/***/ ((module) => {
10220-
10221-
"use strict";
10222-
module.exports = require("path");
10223-
1022410199
/***/ })
1022510200
/******/ ]);
1022610201
/************************************************************************/

.vscode/extensions/doc-assistant/dist/extension.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.vscode/extensions/doc-assistant/package.json

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,6 @@
99
},
1010
"main": "./dist/extension.js",
1111
"contributes": {
12-
"configuration": {
13-
"title": "VS Code Doc Assistant",
14-
"properties": {
15-
"doc-assistant.milestone": {
16-
"type": "string",
17-
"default": "",
18-
"description": "The milestone to use when generating release notes (e.g., 'v1.95').",
19-
"scope": "resource"
20-
}
21-
}
22-
},
2312
"languageModelTools": [
2413
{
2514
"name": "getCurrentMilestone",

0 commit comments

Comments
 (0)