[{"title":"Hexo 初入門","url":"/hello-world/hexo-get-started/","content":"<p>筆記一下</p>\n<h2 id=\"環境準備\"><a href=\"/hello-world/hexo-get-started/#環境準備\" class=\"headerlink\" title=\"環境準備\"></a>環境準備</h2><figure class=\"highlight shell\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 安裝</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> npm i -g hexo-cli</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 驗證安裝</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> hexo version</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 初始博客</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> hexo init [folder]</span></span><br></pre></td></tr></table></figure>\n\n<a id=\"more\"></a>\n\n<p>初始完後博客結構為</p>\n<figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">.</span><br><span class=\"line\">├── _config.yml</span><br><span class=\"line\">├── package.json</span><br><span class=\"line\">├── scaffolds</span><br><span class=\"line\">├── source</span><br><span class=\"line\">|   ├── _drafts</span><br><span class=\"line\">|   └── _posts</span><br><span class=\"line\">└── themes</span><br></pre></td></tr></table></figure>\n\n<ul>\n<li>_config.yml 為博客配置檔</li>\n<li>scaffolds 存放生成草稿、文章、頁面模板的目錄</li>\n<li>source 存放文章及靜態資源檔的目錄</li>\n<li>themes 存放主題的目錄</li>\n</ul>\n<p>各種修改、美化、裝插件等操作較常用的檔案是博客配置檔以及主題目錄裡的相關檔案。</p>\n<p>寫文章或寫建立靜態資源則會使用 source 目錄。</p>\n<h2 id=\"工作流程\"><a href=\"/hello-world/hexo-get-started/#工作流程\" class=\"headerlink\" title=\"工作流程\"></a>工作流程</h2><p><img src=\"/hello-world/hexo-get-started/basic-hexo-workflow.jpg\" alt=\"basic-hexo-workflow\"></p>\n<figure class=\"highlight shell\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 寫新文章</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> hexo new post &lt;文章標題&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 生成靜態檔案</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> hexo g</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 清除靜態檔及 db.json</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> hexo clean</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 本機運行</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> hexo s [-p &lt;port&gt;] <span class=\"comment\"># 預設埠號為 4000</span></span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 部署（更新）博客</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> hexo d</span></span><br></pre></td></tr></table></figure>\n\n<p>工作流常重複敲這些指令蠻麻煩的，所以就修改了下博客根目錄下的 package.json，在 script 新增兩個屬性，pre-pub 及 pub：</p>\n<figure class=\"highlight\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#123;</span><br><span class=\"line\">  ...</span><br><span class=\"line\">  \"scripts\": &#123;</span><br><span class=\"line\">      ....</span><br><span class=\"line\">      \"pre-pub\": \"hexo clean &amp;&amp; hexo g &amp;&amp; hexo s -p 18787\",</span><br><span class=\"line\">      \"pub\": \"hexo clean &amp;&amp; hexo g &amp;&amp; hexo d\"</span><br><span class=\"line\">    &#125;,</span><br><span class=\"line\">  ...</span><br><span class=\"line\">&#125;</span><br></pre></td></tr></table></figure>\n\n<p>隨後一個用來本機預覽，一個用來更新博客</p>\n<figure class=\"highlight shell\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 本機預覽</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> npm run pre-pub</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 更新博客</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> npm run pub</span></span><br></pre></td></tr></table></figure>","categories":["Hello World"],"tags":["Static Site Generators","Hexo"]},{"title":"Maven pom.xml 模板","url":"/practical-experience/maven-initial-pom-template/","content":"<p>提供我每次搭建 Maven 專案時，<code>pom.xml</code> 可供參考的模板。</p>\n<a id=\"more\"></a>\n<p>慣用依賴可以自行刪修。</p>\n<p>如果專案會需要建立父子模組關係，再添加 parent 節點，以及調整 build、dependencies 等是否繼承父模組的配置。</p>\n<figure class=\"highlight xml\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"meta\">&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;</span></span><br><span class=\"line\"><span class=\"tag\">&lt;<span class=\"name\">project</span> <span class=\"attr\">xmlns</span>=<span class=\"string\">\"http://maven.apache.org/POM/4.0.0\"</span></span></span><br><span class=\"line\"><span class=\"tag\">  <span class=\"attr\">xmlns:xsi</span>=<span class=\"string\">\"http://www.w3.org/2001/XMLSchema-instance\"</span></span></span><br><span class=\"line\"><span class=\"tag\">  <span class=\"attr\">xsi:schemaLocation</span>=<span class=\"string\">\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\"</span>&gt;</span></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">modelVersion</span>&gt;</span>4.0.0<span class=\"tag\">&lt;/<span class=\"name\">modelVersion</span>&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">groupId</span>&gt;</span>com.mycompany.projectname<span class=\"tag\">&lt;/<span class=\"name\">groupId</span>&gt;</span> <span class=\"comment\">&lt;!--公司或公司.專案名--&gt;</span></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>projectname-modulename<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span> <span class=\"comment\">&lt;!--專案名或專案-模組名 --&gt;</span></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>0.0.1-SNAPSHOT<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">packaging</span>&gt;</span>jar<span class=\"tag\">&lt;/<span class=\"name\">packaging</span>&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">name</span>&gt;</span>projectname-modulename<span class=\"tag\">&lt;/<span class=\"name\">name</span>&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">properties</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">project.build.sourceEncoding</span>&gt;</span>UTF-8<span class=\"tag\">&lt;/<span class=\"name\">project.build.sourceEncoding</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">maven.compiler.source</span>&gt;</span>1.8<span class=\"tag\">&lt;/<span class=\"name\">maven.compiler.source</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">maven.compiler.target</span>&gt;</span>1.8<span class=\"tag\">&lt;/<span class=\"name\">maven.compiler.target</span>&gt;</span></span><br><span class=\"line\">  <span class=\"tag\">&lt;/<span class=\"name\">properties</span>&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">dependencies</span>&gt;</span></span><br><span class=\"line\">    <span class=\"comment\">&lt;!-- 單元測試 --&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">groupId</span>&gt;</span>junit<span class=\"tag\">&lt;/<span class=\"name\">groupId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>junit<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>4.13<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">scope</span>&gt;</span>test<span class=\"tag\">&lt;/<span class=\"name\">scope</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;/<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">    <span class=\"comment\">&lt;!-- 日誌 --&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">groupId</span>&gt;</span>org.apache.logging.log4j<span class=\"tag\">&lt;/<span class=\"name\">groupId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>log4j-api<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>2.13.1<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;/<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">groupId</span>&gt;</span>org.apache.logging.log4j<span class=\"tag\">&lt;/<span class=\"name\">groupId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>log4j-core<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>2.13.1<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;/<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">groupId</span>&gt;</span>com.lmax<span class=\"tag\">&lt;/<span class=\"name\">groupId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>disruptor<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>3.4.2<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;/<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">    <span class=\"comment\">&lt;!-- Lombok 使用 --&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">groupId</span>&gt;</span>org.projectlombok<span class=\"tag\">&lt;/<span class=\"name\">groupId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>lombok<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>1.18.12<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">scope</span>&gt;</span>provided<span class=\"tag\">&lt;/<span class=\"name\">scope</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;/<span class=\"name\">dependency</span>&gt;</span></span><br><span class=\"line\">  <span class=\"tag\">&lt;/<span class=\"name\">dependencies</span>&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\">  <span class=\"tag\">&lt;<span class=\"name\">build</span>&gt;</span></span><br><span class=\"line\">    <span class=\"comment\">&lt;!-- build 週期所須的基本插件 --&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;<span class=\"name\">pluginManagement</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;<span class=\"name\">plugins</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-clean-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>3.1.0<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-resources-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>3.0.2<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">configuration</span>&gt;</span></span><br><span class=\"line\">            <span class=\"tag\">&lt;<span class=\"name\">encoding</span>&gt;</span>$&#123;project.build.sourceEncoding&#125;<span class=\"tag\">&lt;/<span class=\"name\">encoding</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;/<span class=\"name\">configuration</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-compiler-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>3.8.0<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">configuration</span>&gt;</span></span><br><span class=\"line\">            <span class=\"tag\">&lt;<span class=\"name\">source</span>&gt;</span>$&#123;maven.compiler.source&#125;<span class=\"tag\">&lt;/<span class=\"name\">source</span>&gt;</span></span><br><span class=\"line\">            <span class=\"tag\">&lt;<span class=\"name\">target</span>&gt;</span>$&#123;maven.compiler.target&#125;<span class=\"tag\">&lt;/<span class=\"name\">target</span>&gt;</span></span><br><span class=\"line\">            <span class=\"tag\">&lt;<span class=\"name\">encoding</span>&gt;</span>$&#123;project.build.sourceEncoding&#125;<span class=\"tag\">&lt;/<span class=\"name\">encoding</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;/<span class=\"name\">configuration</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-surefire-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>2.22.1<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-jar-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>3.0.2<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-install-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>2.5.2<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-deploy-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>2.8.2<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-site-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>3.7.1<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">artifactId</span>&gt;</span>maven-project-info-reports-plugin<span class=\"tag\">&lt;/<span class=\"name\">artifactId</span>&gt;</span></span><br><span class=\"line\">          <span class=\"tag\">&lt;<span class=\"name\">version</span>&gt;</span>3.0.0<span class=\"tag\">&lt;/<span class=\"name\">version</span>&gt;</span></span><br><span class=\"line\">        <span class=\"tag\">&lt;/<span class=\"name\">plugin</span>&gt;</span></span><br><span class=\"line\">      <span class=\"tag\">&lt;/<span class=\"name\">plugins</span>&gt;</span></span><br><span class=\"line\">    <span class=\"tag\">&lt;/<span class=\"name\">pluginManagement</span>&gt;</span></span><br><span class=\"line\">  <span class=\"tag\">&lt;/<span class=\"name\">build</span>&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\">  <span class=\"comment\">&lt;!-- 若要從公司倉庫下載</span></span><br><span class=\"line\"><span class=\"comment\">  &lt;repositories&gt;</span></span><br><span class=\"line\"><span class=\"comment\">    &lt;repository&gt;</span></span><br><span class=\"line\"><span class=\"comment\">      &lt;id&gt;publicid&lt;/id&gt;</span></span><br><span class=\"line\"><span class=\"comment\">      &lt;url&gt;http://ip:port/repository/publicpath/&lt;/url&gt;</span></span><br><span class=\"line\"><span class=\"comment\">    &lt;/repository&gt;</span></span><br><span class=\"line\"><span class=\"comment\">  &lt;/repositories&gt;</span></span><br><span class=\"line\"><span class=\"comment\">  --&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\">  <span class=\"comment\">&lt;!-- 若要上傳至公司倉庫</span></span><br><span class=\"line\"><span class=\"comment\">  &lt;distributionManagement&gt;</span></span><br><span class=\"line\"><span class=\"comment\">    &lt;snapshotRepository&gt;</span></span><br><span class=\"line\"><span class=\"comment\">      &lt;id&gt;snapshotid&lt;/id&gt;</span></span><br><span class=\"line\"><span class=\"comment\">      &lt;url&gt;http://ip:port/repository/snapshotpath/&lt;/url&gt;</span></span><br><span class=\"line\"><span class=\"comment\">    &lt;/snapshotRepository&gt;</span></span><br><span class=\"line\"><span class=\"comment\">    &lt;repository&gt;</span></span><br><span class=\"line\"><span class=\"comment\">      &lt;id&gt;releaseid&lt;/id&gt;</span></span><br><span class=\"line\"><span class=\"comment\">      &lt;url&gt;http://ip:port/repository/releasespath/&lt;/url&gt;</span></span><br><span class=\"line\"><span class=\"comment\">    &lt;/repository&gt;</span></span><br><span class=\"line\"><span class=\"comment\">  &lt;/distributionManagement&gt; </span></span><br><span class=\"line\"><span class=\"comment\">  --&gt;</span></span><br><span class=\"line\"><span class=\"tag\">&lt;/<span class=\"name\">project</span>&gt;</span></span><br></pre></td></tr></table></figure>","categories":["Practical experience"],"tags":["Maven","Build tool"]},{"title":"Visual Studio Code 快捷鍵速查表","url":"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/","content":"<h2 id=\"基礎\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#基礎\" class=\"headerlink\" title=\"基礎\"></a>基礎</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 縮放大小</span><br><span class=\"line\">&#x2F;&#x2F; 需先設置 settings.json &quot;editor.mouseWheelZoom&quot;: true</span><br><span class=\"line\">Ctrl + 滾輪</span><br></pre></td></tr></table></figure>\n\n<a id=\"more\"></a>\n\n<h2 id=\"編輯\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#編輯\" class=\"headerlink\" title=\"編輯\"></a>編輯</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 刪除一行或多行</span><br><span class=\"line\">Ctrl + Shift + K</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 移動單字</span><br><span class=\"line\">Ctrl + 方向鍵</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 註解選取行</span><br><span class=\"line\">Ctrl + K + C </span><br><span class=\"line\">Ctrl + &#x2F;</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 取消註解選取行</span><br><span class=\"line\">Ctrl + K + U</span><br><span class=\"line\">Ctrl + &#x2F;</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 多行選取</span><br><span class=\"line\">Ctrl + Alt + 上下方向鍵</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 行數超過畫面時換行 Wrap&#x2F;Un Wrap</span><br><span class=\"line\">Alt + Z</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 縮排</span><br><span class=\"line\">&#x2F;&#x2F; 選取一行或多行的情況下</span><br><span class=\"line\">Tab</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 反縮排</span><br><span class=\"line\">&#x2F;&#x2F; 選取一行或多行的情況下</span><br><span class=\"line\">Shift + Tab</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Refactor\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#Refactor\" class=\"headerlink\" title=\"Refactor\"></a>Refactor</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 側邊欄 - Explorer 檔案重新命名</span><br><span class=\"line\">F2</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 格式化</span><br><span class=\"line\">Alt + Shift + F</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"畫面移動\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#畫面移動\" class=\"headerlink\" title=\"畫面移動\"></a>畫面移動</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 移至檔案首行</span><br><span class=\"line\">Ctrl + Home</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 移至檔案最後一行</span><br><span class=\"line\">Ctrl + End</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 向上捲動</span><br><span class=\"line\">Alt + PgUp</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 向下捲動</span><br><span class=\"line\">Alt + PgDn</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"程式相關\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#程式相關\" class=\"headerlink\" title=\"程式相關\"></a>程式相關</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 摺疊檔案所有 &#123; &#125;</span><br><span class=\"line\">Ctrl + K + 0</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 展開檔案所有 &#123; &#125;</span><br><span class=\"line\">Ctrl + K + J</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"檔案管理\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#檔案管理\" class=\"headerlink\" title=\"檔案管理\"></a>檔案管理</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 新檔案</span><br><span class=\"line\">Ctrl + N</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 開啟檔案</span><br><span class=\"line\">Ctrl + O</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 切換頁籤</span><br><span class=\"line\">Ctrl + Tab</span><br><span class=\"line\">    &#x2F;&#x2F; 反方向切換頁籤</span><br><span class=\"line\">    Ctrl + Shift + Tab</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 往左切換頁籤</span><br><span class=\"line\">Ctrl + PgUp</span><br><span class=\"line\">    &#x2F;&#x2F; 往右切換頁籤</span><br><span class=\"line\">    Ctrl + PgDn</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 關閉檔案</span><br><span class=\"line\">Ctrl + W</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 分割當前檔案到其他 Group</span><br><span class=\"line\">Ctrl + \\</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; Group 移動</span><br><span class=\"line\">Ctrl + K + 左右方向鍵</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"搜尋-取代\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#搜尋-取代\" class=\"headerlink\" title=\"搜尋/取代\"></a>搜尋/取代</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 當前檔案搜尋字串</span><br><span class=\"line\">Ctrl + F</span><br><span class=\"line\">    &#x2F;&#x2F; 下一個</span><br><span class=\"line\">    F3</span><br><span class=\"line\">    &#x2F;&#x2F; 上一個</span><br><span class=\"line\">    Shift + F3</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 當前檔案取代字串</span><br><span class=\"line\">Ctrl + H</span><br><span class=\"line\">    &#x2F;&#x2F; 下一個</span><br><span class=\"line\">    Enter</span><br><span class=\"line\">    &#x2F;&#x2F; 全部取代</span><br><span class=\"line\">    Ctrl + Alt + Enter</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; workspace 搜尋字串</span><br><span class=\"line\">Ctrl + Shift + F</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; workspace 取代字串</span><br><span class=\"line\">Ctrl + Shift + H</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"其他視窗\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#其他視窗\" class=\"headerlink\" title=\"其他視窗\"></a>其他視窗</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 展開側邊欄 - Explorer</span><br><span class=\"line\">Ctrl + Shift + E</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 展開側邊欄 - 外掛</span><br><span class=\"line\">Ctrl + Shift + X</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 摺疊已展開的側邊欄</span><br><span class=\"line\">Ctrl + B</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; Markdown 預覽</span><br><span class=\"line\">Ctrl + K V</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 開啟 Visual Studio Code 命令視窗</span><br><span class=\"line\">Ctrl + Shift + P</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 開啟&#x2F;關閉 Terminal 視窗</span><br><span class=\"line\">Ctrl + &#96;</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"參考\"><a href=\"/cheatsheet/visual-studio-code-keyboard-shortcuts-cheatsheet/#參考\" class=\"headerlink\" title=\"參考\"></a>參考</h2><p><a href=\"https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf\" target=\"_blank\" rel=\"noopener\">Keyboard shortcuts for Windows</a></p>\n","categories":["Cheatsheet"],"tags":["IDE","Visual Studio Code","keyboard shortcuts"]},{"title":"Docker 指令速查表","url":"/cheatsheet/docker-command-cheatsheet/","content":"<h2 id=\"Image\"><a href=\"/cheatsheet/docker-command-cheatsheet/#Image\" class=\"headerlink\" title=\"Image\"></a>Image</h2><figure class=\"highlight shell\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 列出映像檔</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker images</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 下載映像檔</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker pull &lt;映像檔&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 上傳映像檔</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker push &lt;映像檔&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 修改映像檔標籤</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 新舊映像檔都指向同份 image id</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker tag &lt;舊映像檔&gt; &lt;新映像檔&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 刪除映像檔</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 若有多個映像檔指向同份 image id，則為 Untagged </span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker rmi &lt;映像檔&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 以 Dockerfile 建立映像檔</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> --no-cache 表示不使用已存在的 layer</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker build -t &lt;映像檔&gt; . [--no-cache]</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 以指定檔名來建立映像檔</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker build -t &lt;映像檔&gt; -f &lt;指定檔名&gt; . [--no-cache]</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 打包成 tar</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 無網路或資安考量下使用</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker save -o &lt;tar檔&gt; &lt;映像檔&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 載入 tar</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 無網路或資安考量下使用</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker laod -i &lt;tar檔&gt;</span></span><br></pre></td></tr></table></figure>\n\n<a id=\"more\"></a>\n\n<h2 id=\"Container\"><a href=\"/cheatsheet/docker-command-cheatsheet/#Container\" class=\"headerlink\" title=\"Container\"></a>Container</h2><figure class=\"highlight shell\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 列出所有容器</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker ps -a</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 啟動容器</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 若時區不正確，可能是基底映像檔沒裝 timezone</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker run -d -e <span class=\"string\">'TZ=Asia/Taipei'</span> -p &lt;主機port:容器port&gt; -v &lt;主機絕對路徑:容器絕對路徑&gt; --name &lt;容器&gt; &lt;映像檔&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 查看容器輸出</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker logs &lt;container&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 執行指令</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker <span class=\"built_in\">exec</span> &lt;容器&gt; sh -c <span class=\"string\">\"&lt;指令1&gt;;[指令2...]\"</span></span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 進入容器</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 開啟容器新的 shell 實例</span></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 若有 /bin/bash 則用之取代 /bin/sh</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker <span class=\"built_in\">exec</span> -it &lt;容器&gt; /bin/sh</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 刪除容器</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker rm -f &lt;容器&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 啟動某個已停止的容器</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker start &lt;容器&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 停止某個運行中的容器</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker stop &lt;容器&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 重啟容器</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker restart &lt;container&gt;</span></span><br><span class=\"line\"></span><br><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 重命名容器</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker rename &lt;舊容器&gt; &lt;新容器&gt;</span></span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Volume\"><a href=\"/cheatsheet/docker-command-cheatsheet/#Volume\" class=\"headerlink\" title=\"Volume\"></a>Volume</h2><figure class=\"highlight shell\"><table><tr><td class=\"code\"><pre><span class=\"line\"><span class=\"meta\">#</span><span class=\"bash\"> 列出所有 volume</span></span><br><span class=\"line\"><span class=\"meta\">$</span><span class=\"bash\"> docker volume ls</span></span><br></pre></td></tr></table></figure>","categories":["Cheatsheet"],"tags":["Virtualization","Docker"]},{"title":"Visual Studio 2015 快捷鍵速查表","url":"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/","content":"<h2 id=\"基礎\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#基礎\" class=\"headerlink\" title=\"基礎\"></a>基礎</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 執行</span><br><span class=\"line\">Ctrl + F5</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 縮放大小</span><br><span class=\"line\">Ctrl + 滾輪</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 關閉檔案 Tab</span><br><span class=\"line\">Ctrl + F4</span><br></pre></td></tr></table></figure>\n\n<a id=\"more\"></a>\n\n<h2 id=\"Refactor\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#Refactor\" class=\"headerlink\" title=\"Refactor\"></a>Refactor</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 重命名變數</span><br><span class=\"line\">Ctrl + R + R</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 格式化</span><br><span class=\"line\">Ctrl + K + D</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"編輯\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#編輯\" class=\"headerlink\" title=\"編輯\"></a>編輯</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 刪除一行或多行</span><br><span class=\"line\">Ctrl + Shift + L</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 選取單字</span><br><span class=\"line\">Ctrl + W</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 移動單字</span><br><span class=\"line\">Ctrl + 方向鍵</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 註解選取行</span><br><span class=\"line\">Ctrl + K + C </span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 取消註解選取行</span><br><span class=\"line\">Ctrl + K + U</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 選取行增加縮排</span><br><span class=\"line\">Tab</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 選取行減少縮排</span><br><span class=\"line\">Shift + Tab</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 區塊選取或多行選取</span><br><span class=\"line\">Shift + Alt + 方向鍵</span><br><span class=\"line\">Shift + Alt + 點擊滑鼠不放拖曳</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 選取內英文字母轉小寫</span><br><span class=\"line\">Ctrl + U</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 選取內英文字母轉大寫</span><br><span class=\"line\">Ctrl + Shift + U</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"搜尋-取代\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#搜尋-取代\" class=\"headerlink\" title=\"搜尋/取代\"></a>搜尋/取代</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 當前檔案搜尋字串</span><br><span class=\"line\">Ctrl + F</span><br><span class=\"line\">    &#x2F;&#x2F; 下一個</span><br><span class=\"line\">    F3</span><br><span class=\"line\">    &#x2F;&#x2F; 上一個</span><br><span class=\"line\">    Shift + F3</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 當前檔案取代字串</span><br><span class=\"line\">Ctrl + H</span><br><span class=\"line\">    &#x2F;&#x2F; 下一個</span><br><span class=\"line\">    F3</span><br><span class=\"line\">    &#x2F;&#x2F; 上一個</span><br><span class=\"line\">    Shift + F3</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 專案搜尋字串</span><br><span class=\"line\">Ctrl + Shift + F</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 專案取代字串</span><br><span class=\"line\">Ctrl + Shift + H</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"程式碼相關\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#程式碼相關\" class=\"headerlink\" title=\"程式碼相關\"></a>程式碼相關</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 跳到定義</span><br><span class=\"line\">Ctrl + F12</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 偷看定義</span><br><span class=\"line\">Alt + F12</span><br><span class=\"line\">    &#x2F;&#x2F; 向前個窗口</span><br><span class=\"line\">    Ctrl + Alt + -</span><br><span class=\"line\">    &#x2F;&#x2F; 向後個窗口</span><br><span class=\"line\">    Ctrl + Alt + &#x3D;</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 查詢所有參考</span><br><span class=\"line\">Shift + F12</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 摺疊 region、區間</span><br><span class=\"line\">Ctrl + M + M</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 摺疊檔案裡所有region、定義(只會看到變數名稱跟方法名)</span><br><span class=\"line\">Ctrl + M + O</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 彈出提示補齊</span><br><span class=\"line\">Ctrl + J</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 彈出方法參數提示</span><br><span class=\"line\">Ctrl + Shift + Space</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"生成語法模板\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#生成語法模板\" class=\"headerlink\" title=\"生成語法模板\"></a>生成語法模板</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 自動生成 Console.WriteLine()</span><br><span class=\"line\">先輸入 cw，在 tab 兩次</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 自動生成建構子</span><br><span class=\"line\">先輸入 ctor，在 tab 兩次</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 生成 XML 註解</span><br><span class=\"line\">&quot;&#x2F;&#x2F;&#x2F;&quot;</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"Debug\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#Debug\" class=\"headerlink\" title=\"Debug\"></a>Debug</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 進入 Debug 模式</span><br><span class=\"line\">F5</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 離開 Debug 模式</span><br><span class=\"line\">Shift + F5</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 設置或清除該行中斷點</span><br><span class=\"line\">F9</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 清除所有中斷點</span><br><span class=\"line\">Ctrl + Shift + F9</span><br><span class=\"line\"></span><br><span class=\"line\">&#x2F;&#x2F; 逐步執行（不進入含式）</span><br><span class=\"line\">F11</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"其他\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#其他\" class=\"headerlink\" title=\"其他\"></a>其他</h2><figure class=\"highlight plain\"><table><tr><td class=\"code\"><pre><span class=\"line\">&#x2F;&#x2F; 開啟 TODO 清單</span><br><span class=\"line\">Ctrl + \\ + T</span><br><span class=\"line\">    &#x2F;&#x2F; 標註 TODO</span><br><span class=\"line\">    &quot;&#x2F;&#x2F; TODO: write something...&quot;</span><br></pre></td></tr></table></figure>\n\n<h2 id=\"參考\"><a href=\"/cheatsheet/visual-studio-2015-keyboard-shortcuts-cheatsheet/#參考\" class=\"headerlink\" title=\"參考\"></a>參考</h2><p><a href=\"http://visualstudioshortcuts.com/2015/\" target=\"_blank\" rel=\"noopener\">Visual Studio 2015 keyboard shortcuts<br>The complete list</a></p>\n","categories":["Cheatsheet"],"tags":["IDE","keyboard shortcuts","Visual Studio 2015"]}]