
























本文整理一套在VS Code中配置Markdown工作流的方法,使其在wikilink、附件管理與多媒體預覽上接近Obsidian。
未有旨在複製Obsidian的界面。重點在於讓編輯、貼圖與預覽行為盡量一致。
建議安裝以下3類插件:
這套做法分成兩層:
.vscode/settings.json與.vscode/obsidian-preview.css,讓整個專案的Markdown行為保持一致。在.vscode目錄建立obsidian-preview.css。這份樣式只處理版面與可讀性,顏色直接讀取VS Code主題變數,避免在深色模式下出現亮底預覽。
(按:body下的font-family,我配置了"Source Han Sans"及其各地區變體〈思源黑體〉,有助于中日韓〈CJK〉語文下的閱讀。)
:root {
--obsidian-text: var(--vscode-editor-foreground, #2a2a2a);
--obsidian-bg: var(--vscode-editor-background, #ffffff);
--obsidian-muted: var(--vscode-descriptionForeground, #6b7280);
--obsidian-link: var(--vscode-textLink-foreground, #5b7db1);
--obsidian-border: var(--vscode-panel-border, #d7dce3);
--obsidian-code-bg: var(--vscode-textCodeBlock-background, #f5f7fa);
}
body {
margin: 0 auto;
max-width: 860px;
background: var(--obsidian-bg);
color: var(--obsidian-text);
font-family: "Source Han Sans", "Source Han Sans HC", "Source Han Sans TC",
"Source Han Sans JP", sans-serif;
line-height: 1.75;
}
code,
pre,
kbd,
samp {
font-family: Consolas, "Cascadia Code", monospace;
}
a {
color: var(--obsidian-link);
text-decoration-thickness: 1px;
text-underline-offset: 2px;
}
img,
video,
audio {
max-width: 100%;
}
blockquote {
margin-left: 0;
padding-left: 1rem;
border-left: 3px solid var(--obsidian-border);
color: var(--obsidian-muted);
}
pre,
code {
background: var(--obsidian-code-bg);
}
pre {
padding: 0.9rem 1rem;
border-radius: 8px;
}
table {
border-collapse: collapse;
}
th,
td {
border: 1px solid var(--obsidian-border);
padding: 0.5rem 0.75rem;
}
如果你不想綁定預覽字體,可以刪除body中的font-family一行。
這份CSS主要服務VS Code內建Markdown預覽,讓它在不同主題下都維持穩定的可讀性。
以下示例只保留和Markdown工作流直接相關的設定。
{
"markdown.updateLinksOnFileMove.enabled": "always",
"markdown.copyFiles.destination": {
"/**/*.md": "_resources/"
},
"markdown.preview.scrollEditorWithPreview": true,
"markdown.preview.scrollPreviewWithEditor": true,
"markdown.styles": [
".vscode/obsidian-preview.css"
],
"foam.files.exclude": [
".venv/**/*",
".vscode/**/*",
".git/**/*",
"node_modules/**/*",
"**/desktop.ini",
"**/.DS_Store"
],
"foam.files.newNotePath": "currentDir",
"foam.templates.folder": "Templates",
"foam.links.sync.enable": true,
"foam.links.hover.enable": true,
"markdown-preview-enhanced.enableWikiLinkSyntax": true,
"markdown-preview-enhanced.useGitHubStylePipedLink": false,
"markdown-preview-enhanced.wikiLinkTargetFileExtension": ".md",
"markdown-preview-enhanced.scrollSync": true,
"markdown-preview-enhanced.automaticallyShowPreviewOfMarkdownBeingEdited": true,
"markdown-preview-enhanced.enableHTML5Embed": true,
"markdown-preview-enhanced.HTML5EmbedUseImageSyntax": true,
"markdown-image.base.uploadMethod": "Local",
"markdown-image.local.path": "_resources",
"markdown-image.local.referencePath": "",
"[markdown]": {
"editor.wordWrap": "on",
"files.trimTrailingWhitespace": false
}
}
這裡有兩點需要特別說明:
markdown.copyFiles.destination控制拖放或複製附件時,VS Code內建Markdown功能使用的附件目錄。markdown-image.local.path控制Markdown Image貼圖時的儲存位置。本文使用_resources,表示圖片儲存在當前Markdown檔同級的_resources目錄。若你想改成工作區根目錄的統一附件倉,應寫成/_resources。如果你在Markdown Preview Enhanced中採用none.css之類較少干預的預覽主題,有時會遇到fenced code block背景不一致,出現整塊底色與局部小底色混在一起的情況。這時可在工作區根目錄建立.crossnote/style.less:
.markdown-preview.markdown-preview pre {
background: var(--vscode-textCodeBlock-background, #1f252d) !important;
}
.markdown-preview.markdown-preview pre code,
.markdown-preview.markdown-preview pre code *,
.markdown-preview.markdown-preview pre tt,
.markdown-preview.markdown-preview pre tt * {
background: transparent !important;
box-shadow: none !important;
}
這份樣式只影響pre中的程式碼,不會改動行內code。
若你希望Markdown Preview Enhanced正文不額外套主題,而是盡量跟隨VS Code本身的明暗風格,可以把這類偏好放在使用者自己的settings.json中,而不要寫進工作區:
{
"markdown-preview-enhanced.previewTheme": "none.css",
"markdown-preview-enhanced.codeBlockTheme": "github-dark.css"
}
這屬於個人閱讀偏好,不屬於專案必需配置。
_resources,就同步修改markdown.copyFiles.destination與markdown-image.local.path。Templates,就調整foam.templates.folder。foam.files.exclude應按自己的vault與工作區結構增刪,不必照抄。markdown-image.*配置換成對應的pasteImage.*鍵;若已切到Markdown Image,記得清理舊的pasteImage.*殘留設定。obsidian-preview.css中的font-family。Developer: Reload Window。Markdown Preview Enhanced: Open Preview to the Side作為主要預覽窗格。完成後,VS Code即可在編輯、預覽與附件管理上提供一套接近Obsidian的Markdown工作流,同時保留VS Code本身的擴充能力與由Git驅動的版本管理環境。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。